Added support for django custom user with no 'username' field

Hi,

I come accross this issue today while working with a custom user model on django 1.5. Code from psa was failing when there was no field named "username". I think this pull request can solve this issue in a backwards compatible way.

MongoEngine: I've never work with it, don't know if the same changes should be included.
DSA: If you want me to, tomorrow I write the solution also for django-social-auth.

Thanks for your work!