Move some more API access methods into GitHubClient.

This change moves some higher-level API access code out of the GitHub hosting
service and into GitHubClient. As a side-effect of this change, errors when
trying to fetch branches or commits are bubbled up correctly.

Testing done:
* Ran unit tests.
* Tested post-commit review request creation.

Reviewed at https://reviews.reviewboard.org/r/5697/