Allow the use of a custom remote user backend

Previously when using remote user authentication 'django.contrib.auth.backends.RemoteUserBackend' would always be the highest priority backend regardless of what is set in local_settings.py. This patch adds a setting to allow it to be overridden.