Fixed keyerror for missing password in AuthenticationBackend

Currently _authenticate_by_username raises a KeyError if a username is supplied but a password is not. Auth backends should make no assumptions about the contents of the `**credentials` variable.