Fix some bugs with post-commit creation with subvertpy.

The subvertpy backend for post-commit review request creation had a bug where
it was passing in a string for the base revision to the diff method. This is
fixed easily enough by ensuring that revisions are ints.

While I was doing this, I found that trying to create post-commit review
requests for commits which are in a protected part of the repository (such as
security fixes in the ASF repo) would show the user a dialog that says "HTTP
Error 500". I've converted exceptions in the diff method to SCMError, which
will at least log and return something slightly less ugly to the user.

Testing done:
Created some post-commit review requests for commits in the WordPress and ASF
repositories.

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