Fix getGitHubDir failing sometimes because it didn't respect GitHub API pagination.

If the response contains a Link header, then fallback to requesting
"refs/heads/master" and "refs/tags/go1" by name.
Add hasLinkHeader return value to getJSON(), returns true if Link
header was present.
Fix #174.

Use Go style for type naming.

Refactor getJSON to be more flexible for future needs.

Modify to getJSON to return (*http.Response, error).
Check for the link header in GitHub specific code.
Excellent suggestions from
https://github.com/golang/gddo/pull/178#issuecomment-48007781. Thanks
@garyburd!