Make sure pwiz take care of camelCase
I appreciate the patch. I've chosen to implement it slightly differently (default to using snake case, more tests, factored table-naming into a function to use in both places it is used).
Add feature/testcases so that if original table/column name is camelCase the autogenerated one by pwiz will be snake_case


Let's say we have a table named `CamelCaseTableName` who has a column named `camelCase`, with `pwiz`,
## Before
```python
class Camelcasetablename(BaseModel):
    camelcase = CharField(column_name='camelCase')

    class Meta:
        table_name = 'camelCaseTableName'
```

## After
```python
class CamelCaseTableName(BaseModel):
    camel_case = CharField(column_name='camelCase')

    class Meta:
        table_name = 'camelCaseTableName'
```