Properly handle incorrect revisions in the github get_change() implementation.

The get_change() implementation in the GitHub hosting service was letting a
bare Exception through in its failure case, which I think only really happens
when GitHub's API is having problems. This meant that the API would return a
500 and we'd get a traceback in our email. I've changed it to catch Exception
and re-raise as SCMError, which is caught by ReviewRequestResource.create()

Testing done:
Ran unit tests

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