Add gist API
More generic `getBody` method with configurable media type

This is so the same method can be used with "text/plain" content type,
for instance.
Add `Raw` method to Gists for fetching gist content

It first scans the list of files in a gist from GitHub API and then
follows the raw url of the first file using "text/plain" content type.
Change how HTTP requests are hijacked in test mode

Instead of configuring octokit.Client with the local test server
endpoint, configure it with the regular GitHub API endpoint but also
institute a custom http.Transport that will redirect all requests to the
local server while keeping the "Host" header and the original HTTP
scheme in the "X-Original-Scheme" header.

This ensures that no test requests can break through into the Internet.
Avoid mutating the request inside RoundTrip

Code based on http://git.io/cloneRequest