support django-1.5 swappable model w bkwd compatiability

This implements support for swappable-user-models introduced in django 1.5, following a a from future idea taken from django-postman: https://bitbucket.org/psam/django-postman

Most importantly, this takes into account not to call get_user_model in the global scope which is a know issue.