[oauth2] Initial commit.
[oauth2] Exchanging with an OAuth2 backend to retrieve tokens, and storing retrieved credentials in the session.
[oauth2] Login, logout and callback handler paths should be configurable.
[oauth2] Adding Github endpoints.
[oauth2] Redirect user to an error page, if OAuth2 exchange fails.
[oauth2] Add docs.
[oauth2] Remove debug print.
[oauth2] Redirect code shouldn't be hard-coded.
[oauth2] Adding tests.
[oauth2] Adding package documentation.
Adding license.
Adding README.
Adding sample for injected tokens.