Add DiffCommit model for review requests with commit histories.

Review Request #6815 — Created Jan. 20, 2015 and submitted — Latest diff uploaded

Review Board
6933, 6931, 6816, 6934
chipx86, mike_conley, smacleod

The DiffSet model has been updated to be able to contain several
DiffCommits in addition to FileDiffs. The DiffCommit model
represents a single commit in distributed version control system
(DVCS). Each DiffCommit has one or more FileDiffs that belong to
it (as well as the DiffSet).

Add an evolution to add a foreign key on the FileDiff model to point
to an optional DiffCommit model. Also add an evolution to add a
RelationCounterField to the DiffSet model that counts the number
of DiffCommits it currently has.

Update the reviewboard.diffviewer.admin module to add the ability to
view individual DiffCommits. The DiffCommits can be as inline
models of the DiffSet model and have FileDiff as an inline model.

Add unit tests for creating empty DiffSets as well as creating
DiffCommits from .diff files and uploading via the
UploadDiffCommit form.

Updated the ValidateDiffResource with respect to the new refactoring
of the DiffSetManager.

Unit tests pass.
Applied evolution successfully.