Is there an API on ForeignKeyField to generate dynamically related_name
I would question the usefulness of dynamically generated backrefs, but whatever.

Pushed a commit 5f7078929b8731b74ab2bf0dede28d7bc103c8e1 that allows foreign key related_name init param to be a callable that accepts the field as it's only param.

I would like to create a base model with some dynamically generated foreignkeyfield `related_name`. I was hoping for a way to deal with it without touching the model constructor. Same thing you did with `db_table` by providing `db_table_func`

``` python
class AwareModel(Model):
    created_by = ForeignKeyField(User, related_name_func = lambda model_cls: ...)
    modified_by = ForeignKeyField(User, related_name_func = lambda model_cls: ...)

...

class Restaurant(AwareModel):
    name = CharField()

...

# supposed there is a user called foo then I would be able to call the restaurants from the user
foo.created_restaurants   # -> A list of restaurants foo created
foo.modified_restaurants   # -> A list of restaurants foo modified


class Comment(AwareModel):
    content = TextField()

...

# supposed there is a user called foo then I would be able to call the restaurants from the user
foo.created_comments   # -> A list of comments foo created
foo.modified_comments   # -> A list of comments foo modified
```
