Roll custom OAuth

GitHub's OAuth implementation is fairly simple. It basically involves building
two URLs and performing one simple POST request.

Also, this uses the web endpoint configured in Octokit (see previous commit).
Restructure and tweak specs