Try all authentication backends to attempt to Auth

Not all authentication backends store the password on the User object,
notibly LDAP and AD authentication.

Django Users require both a username and a password to auth, so update
the test case to store a username, and save it so that the
django.contrib.auth.backends.ModelBackend can look it up in the
database.
Which would also remove the need for this `get_or_create`