Support custom user models

The changes to the application code are in:
- two_factor/views/core.py
- two_factor/views/utils.py

*The changes to the test code are not intended to be final*, and are currently only a quick hack to get things working. I simply replaced all references to django.contrib.auth.models.User with CustomUser.

I'm not sure about the best way to incorporate tests for support of custom User models. Most of the current tests should be run with both a custom User model, and the default Django User model, but I have to figure out a way to do so without duplicating code.

Also, support for this feature only applies to Django 1.5 and above. Is there a way to target a set of tests for only certain environments in tox?