Gitub API requires User-Agent

Added a `GithubProvider.makeApiRequest` will create a `Request` with a `User-Agent` and `Accept` header, as now required by the GitHub API.  Without this, the `validateToken` call was failing for me.

I've also:

* Re-worked the code a little to make it easier to debug, and added more exception logging.

* Upgraded to build.sbt to be compatible with SBT 0.13

* The `Accept` header asks for v3 of the GitHub API, which is (a) what Github are encouraging; and (b) seems to be a good idea to fix the API version rather than allow GitHub to send us what they like.