Custom user model

Supersedes #25.
Note, because the change removes `User` objects, I had to clear out the old `SocialAccount` objects too:
```
./manage.py shell
In [1]: from allauth.socialaccount.models import SocialAccount
In [2]: SocialAccount.objects.all().delete()
```