Use custom Model class which handles duplicate model registration

In Django 1.7 a model (<app_label>.<model_name>) can only be registered
once. We override the __new__ of the metaclass to check if the model
is already registered and return the registered on instead.

This basically restores the functionality pre-django 1.7

All integration tests now pass
Temporarily workaround failures due to Django 1.7 change