Add javascript for a new pre-commit review request creation UI.

This change adds a model and view for pre-commit review request creation. This
replaces the old form-based UI with one which is more interactive, and does a
lot more checking and guidance.

The basic workflow is that users are asked first to select their diff file,
either through a file picker or drag-and-drop. For the most basic case, this is
all that's required--the frontend will test that the diff is valid (parses +
upstream files exist) and create the review request.

In the case of perforce, the user will be prompted for a change number. In the
case of SVN, the user will be prompted for a basedir. At the moment, this does
not do parent diffs. I'm kind of conflicted about whether or not we should add
it, since it does complicate things pretty significantly. My instinct here is to
say no for now and defer people to the command-line tools if they want something
fancy.

This is massively improved in the case where a user tries to upload a git diff
that was generated with partial SHAs--we'll detect that case and ask the user to
use --full-index.

Testing done:
- Created lots of different review requests for SVN and Git.
- Tested various error conditions (wrong basedir, partial shas, badly
  formatted diff, etc).
- Ran jshint

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