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

Fixes #174.

- 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.

Note that it currently assumes "master" has to be a branch, and "go1" has to be a tag. I don't know what's the best thing to do (and what if "master" is both a branch _and_ a tag, for example?). Please see discussion [here](https://github.com/golang/gddo/issues/174#issuecomment-47871865).
Yeah, I was going back and forth on that too. I ended up keeping err in first place, as `(something, error)` is usually used when `something` is the value being returned. In this case, `hasLinkHeader` is just an auxiliary value that only some parties are interested in.

It's just awkward because `v interface{}` is both input and output...