Factor in the LocalSite when handing ?to-groups= on ReviewRequestResource.

The ?to-groups= query was failing on LocalSites due to None being passed
for the local_site parameter in a call. It would only match global
groups.

We now pass the LocalSite we're querying, ensuring that groups matching
that will be looked up.

Fixes bug #3539
Prevent conflicts with commit IDs when dealing with drafts.

There were a series of errors that could result from commit ID conflicts
between review requests and drafts. There were a couple scenarios in
which a conflict could arrise:

* Updating a draft with a commit ID and then posting a new review
  request with the same commit ID.

* Updating two drafts with the same commit ID and trying to publish
  both.

A lot of these problems were due to us relying on database-level
validation for conflict reporting, and not factoring in drafts at all.

We now check for both review requests and drafts with the provided
commit ID before allowing any operations that would result in commit ID
assignment to either a review request or its draft. For the case of
creating a new review request, we do this regardless of whether the
create_from_commit_id flag is set.

Fixes bug #3508
Reviewed at https://reviews.reviewboard.org/r/6264/
Fix a broken FileDiff migration unit test from a merge.

The FileDiff migration tests that came from release-1.7.x were assuming
the existence of Repository objects in fixtures, which isn't the case in
release-2.0.x. This switches to using create_repository() instead.
Merge branch 'release-2.0.x'