Add OAuth2 backend

The backend is customized to support the following features:

- Email can be used as a user identifier in the OAuth2 username field.
- Trusted clients do not require the user consent and redirect automatically.
Do you need to also update devstack.py or one of the json.env files? You probably also need to put a ticket into ops to update the prod server config.