Metaclass conflict
it's more of a python problem rather than a peewee one.

I think letting `UserMeta` inherit `BaseModel` should resolve this issue

Are there any suggestions to solve the metaclass conflict problem?

``` python

from peewee import Model, SqliteDatabase, CharField

db = SqliteDatabase('/tmp/conflict.db')

class UserMeta(type):
    def __new__(mcs, name, bases, dct):
        return super(UserMeta, mcs).__new__(mcs, name, bases, dct)

class User(Model):
    __metaclass__ = UserMeta
    name = CharField()
    class Meta:
        database = db

User.create_table()
user = User.create(name='bob')
print user

import os
os.remove('/tmp/conflict.db')
```

```

Traceback (most recent call last):
  File "a.py", line 10, in <module>
    class User(Model):
  File "a.py", line 8, in __new__
    return super(UserMeta, mcs).__new__(mcs, name, bases, dct)
TypeError: Error when calling the metaclass bases
    metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
```
