fix(tests): update test factories for factory_boy

This fixes the factories when the tests are run from a clean clone since
the factory_boy that is installed by default was causing the tests to
fail. (Factory_boy gained a ORM agnostic approach so you have to specify
the Django-ORM as being used by subclassing the
factory_boy.django.DjangoModelFactory when defining the model
Factories)
fix(compat): adds compatibility for Django 1.5+

This adds a compatibility layer for custom User models that was
introduced in Django 1.5 by simply sourcing the User model within a
version conditional. The migrations have been updated to utilize this
compatibility update, as well.