Dynamically generate db_table name
You could do something like this:

``` python
import peewee as p
from inflection import tableize

class BaseModelMeta(p.BaseModel):
    def __new__(cls, name, bases, attrs):
        cls = super(BaseModel, cls).__new__(cls, name, bases, attrs)

        # overwrite db_table name
        cls._meta.db_table = tableize(name)

        return cls

class BaseModel(p.with_metaclass(BaseModelMeta, p.Model), p.Model):
    # the second p.Model is optional, it gives me autocompletion in pyCharm
    pass
```
 There's an API for this:

``` python
class MyModel(Model):
    class Meta:
        db_table_func = lambda model_cls: ...
```
 Listed a little below this section heading: http://docs.peewee-orm.com/en/latest/peewee/models.html#model-options-and-table-metadata
 Here I was, thinking I knew the documentation by heart... Back to the school-books for me then!

I want to create an abstract base model which will generate db_table name dynamically.
Below is an illustration of what I need to accomplish.

``` python
from inflection import tableize
...

class User(Model):
    pass

...


class BaseModel(Model):
    class Meta:
        abstract = True
        # make db_table dynamically generated based on the class name
        # db_table = tableize(cls.__name__)  ------  'RoomService' -> 'room_services'

...


class RoomService(BaseModel):
    name = CharField()

foo = RoomService.create(name='Foo Bar')
# foo._meta.db_table  --->  room_services
```

Is this a thing that can be done in Peewee? Thanks
