Introduced ObjectHandler

A Model’s namespace has been uncluttered by moving all table-related
methods (classonlymethods on the Model) to an attached ObjectHandler.

Each Model has a single instance of an ObjectHandler which exposes
table-related operations on the Model, such as create(), get(),
filter() and more.

Even more, has_many and has_and_belongs_to_many relations have their
own object handler that inherits from the base ObjectHandler:
RelatedObjectHandler and RelatedM2MObjectHandler. This means that all
operations exposed by ObjectHandler will be available in one-to-many
and many-to-many relations too!
user[‘credit_cards’].create(type=‘Visa’) and
post[‘tags’].get(name=‘recent’) are valid!

Custom defined table-related operations can be added to a model by
subclassing ObjectHandler and setting Model.object_handler to the new
class.

This solves #5 and partially #1.