Use GitHub as SSO

This changes causes the application to use GitHub as a Single Sign On
system.  This means that when a user attempts to load a protected URL
(e.g. /admin) the application will then attempt to get a token from
GitHub.  GitHub's login and OAuth flow is displayed to the user (we
request user:email and repo) and then control is returned to the
application.  Nothing is done with that control yet.

This change also rolls back BoneCP from its RC to a stable version to
get around a connection closing during an open transaction problem.

[#54121275]
Merge 54121275-login-to-github to master

[Completes #54121275]