Switch to using Sawyer

A lot of the code included in this commit came from Octokit
(https://github.com/octokit/octokit.rb/blob/master/lib/octokit/client.rb)