Reject PUT with a changenum on file-only review requests.

When updating a file-only review request (which doesn't have a repository), it
was possible to pass in a changenum field, which would then cause a 500 error
trying to fetch the scmtool. This change makes it so that we return
INVALID_CHANGE_NUMBER if there's no repository (since they're all invalid).

Testing done:
- Ran unit tests.
- Used cURL to reproduce the original bug and saw that I got an error message
  instead of a 500.

Reviewed at https://reviews.reviewboard.org/r/6311/
Merge branch 'release-2.0.x'