Substitute custom User model

This involved creating a few tricky migrations.

0101: Rename tables that auth.User used so that they pointed to main
instead of auth. This included the primary user table as well as the M2M
tables betwen {permissions,groups} and users. Additionally, I made
migrations from other apps (reversion, django-rest tokens) depend on
these, so that our auth tables would be created by the time they were
needed in FKs in those.

0102: Migrate all information from old UserProfile model to our custom
User model. This was mostly zotero {keys,ids}. Unfortunately, it was
also the M2M table between notes and assigned users, in which I had
(stupidly) used UserProfile as a foreign key. I made the change to this
table in a pl/pgSQL function for ease.

0103: Delete UserProfile.

0001: Create auth_user table that would have been done in
syncdb so that it can be renamed in 0101.

Additionally, I made changes to the tests so that everything passes and
fixed wherever django.contrib.auth.models.User was imported. There's
definitely lots to fix with templates (for example) referring to
UserProfiles