Update the custom models tests mixin to support Django 1.6, 1.8+.

Review Request #8682 — Created Jan. 30, 2017 and submitted — Latest diff uploaded




Our TestModelsLoaderMixin, while working fine on Django 1.6, had some
problems on modern versions of Django. Models weren't gaining their
correct app labels and were appearing in two apps at once. We also were
attempting to register models that were imported from other modules
(like User, Site, etc.). Along with this, not all state was properly

This change fixes the mixin for Django 1.8 and higher. This gives us
compatibility with Django 1.6 and 1.8 through 1.10. It does not support
Django 1.7 (which Djblets will not officially support anyway), due to
issues in Django 1.7 that were fixed in 1.8 involving ManyToManyFields
not being properly created in the database under these conditions.

Unit tests pass on 1.6, 1.8, 1.9, 1.10.