DONUT-165: Add Django 1.6 Support.

* Utilize subclassing rather than a generated class for authentication backends.
  * Changes in Django 1.6 have made it such that the class performing the
    authentication will be recorded, and subsequent requests will check
    this recorded class name against the list of enabled
    `AUTHENTICATION_BACKENDS`.  In the current scenario, it is not
    possible to determine the classname since it is being created as a
    result of the `get_authentication_backend` call and does not yet
    exist. (TL;DR: Previous changes for modifying the __class__ and __module__
    attributes will not work anymore because we'd be returning the base
    class' module and class (in the test scenario,
    `django.contrib.auth.backends.ModelBackend`) rather than the name of
    the class we are creating at this very moment.
* Many minor changes to testing infrastructure.