Adding support for custom user models

This pull request is related to #1798 and #1916.

I've updated the documentation, tests, and relevant parts of the code to support custom user models as long as the name of the model is User.  In addition to a simple customuserapp.User model which adds a single field, I also included a emailuserapp.User which uses the email field as USERNAME_FIELD.

Lastly, I updated the test runner in develop.py to support a new command line arguement, --user, which allows for specifying the user model.  By default, django.contrib.auth.User is used.

Tested with Django 1.4, 1.5, and 1.6.