Refactor the pre-commit model a bit.

I'm working on making it so "Update Diff" behaves/looks similar to the
pre-commit section of the "New Review Request" page. This change is a
preperatory step: separating the review request creation from the diff
creation. After this change, `RB.PreCommitModel` should be usable when a review
request already exists, by setting the `reviewRequest` attribute.

Testing Done:
Verified that pre-commit review request creation still worked properly with
both single and parent diffs.

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