Re-work RavenAuthBackend to inherit from RemoteUserBackend.

This adds significant useful functionality.  In particular:

 * Newly-created users can be configured by overriding the configure_user
   method and have their names modified by overriding clean_username.

 * The model used for users can be overridden by setting AUTH_USER_MODEL.

 * All of the permissions-checking functionality of ModelBackend survives.

It also reduces the amount of ucamwebauth-specific code substantially.

A backward-compatibility hook is included to ensure that
UCAMWEBAUTH_CREATE_USER is honoured and defaults to False.
Merge remote-tracking branch 'refs/remotes/ucs/bjh21-backendinheritance'