Render the diff change index from JS instead of Django.

The new change index was about half template half javascript--we'd render the
basic table with each of the files from a django template, and then as diffs
were loaded, update it.

This change moves the initial render into the javascript as well. The data is
plumbed into javascript by passing it into the DiffViewerPageView. This change
is one step towards being able to update the displayed diff (revision/page/etc)
without reloading everything.

Testing done:
* Viewed a handful of diff revisions and interdiffs. Saw the table as before in
  each case.
* Ran js-tests
* Ran jshint

Reviewed at https://reviews.reviewboard.org/r/4545/
Load diff files from javascript.

This changes the diff viewer to create the diff-container items from javascript
instead of the django template.

Testing done:
* Loaded a few different diff revisions and interdiffs and saw that things
  loaded correctly.
* Ran js-tests.
* Ran jshint.

Reviewed at https://reviews.reviewboard.org/r/4546/
Make the "Diff Revision" label dynamically rendered in javascript.

In order to be able to update the displayed revision, this content needs to be
generated on the client side instead of the server.

Testing done:
* Viewed various revisions of a diff, including interdiffs. Saw the expected
  text each time.
* Checked that the "latest diff" and "See what's changed" links worked
  correctly.
* Ran js-tests.
* Ran jshint.

Reviewed at https://reviews.reviewboard.org/r/4555/
Pre-compile fixtures for unit tests.

Django's fixture support is extraordinarily inefficient. For every
single unit test, it does the following:

* Recalculates the list of possible fixture directories
* Locates each fixture file within those directories
* Tries to figure out how to deserialize them
* Deserializes them
* Saves them

That's done per-test. Most of those operations are things that could be
easily cached, including the deserialized fixture content.

Our TestCase rewrites fixture loading to do just this. When we see a new
fixture, we precompile it, getting the list of objects and storing it.
We then use that precompiled version whenever the fixture is requested
for future tests.

This saves 10 seconds on the test suite.