Allow use of alternative HTTP client implementations

In particular this means we can use OkHttp, so we can make use of it's HttpResponseCache/DiskLruCache. Making a conditional request against the GitHub API and receiving a 304 response does not count against the Rate Limit - very beneficial.

http://developer.github.com/v3/#conditional-requests