Catch various SCMErrors in the ValidateDiffResource

The diff validation was catching a variety of errors, but the scmtools errors
weren't part of that. This wasn't an issue when I first wrote it but subsequent
clean-up has changed that. I've added handling for the ShortSHA1Error specifically
(to make it match what the front-end code expects), and a generic catch-all for
SCMError.

Testing done: Ran unit tests.
Reviewed at https://reviews.reviewboard.org/r/4741/