Provide better protection for creating from changenums on Local Sites.

We saw an issue where a review request on a Local Site was getting
created without a local_id. This seems likely to be due to an exception
when updating from a change number. I could not reproduce it locally,
but it makes sense.

This adds some bullet-proofing to that, falling back to not updating the
review request. It also doesn't attempt to update until after the review
request has been assigned a local_id (if on a Local Site).

Reviewed at https://reviews.reviewboard.org/r/6027/
Funnel through the Empty ChangeSet error in the web API.

Updating a review request with a change number that represents an empty
changeset would cause an internal server error. We now return a proper
error code for this.

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