Fix hg parent diffs (again?).

If a standard hg diff is posted, along with a parent diff, and the diff
touches files that the parent diff didn't, application will fail. This
change now properly fills the source_revision field on these filediffs
so that we don't attempt to fetch the file for the revision the parent
diff created.

The revision handling for the hg case is messy and could really use some
more love to make things more sensical and robust. I'm going to hold off
on any big changes for now since I think it's important to just get this
use case working.

Reviewed at https://reviews.reviewboard.org/r/6253/
Fix an annoying unicode comparison warning.

If a given patch file isn't coercible to unicode, it would cause a
UnicodeWarning when comparing it to the empty string. I've replaced this test
with a truthy-test, which won't try to convert the arguments.

Testing done: Ran unit tests.

Reviewed at https://reviews.reviewboard.org/r/6254/
Cache rendered diff fragments with large_data=True

Diff fragments usually aren't too big for individual cache entries, but when
they are, they cause warnings. This change stores them using large_data=True,
which will split them into pieces before caching.

Testing done:
- Ran unit tests
- Created a diff where a fragment exceeded the cache entry size limit and
  didn't see a warning.

Reviewed at https://reviews.reviewboard.org/r/6255/
Fix usage of deprecated 'mimetype' parameter for HttpResponse.

Django renamed the 'mimetype' parameter to 'content_type'. This change updates
our usages of it.

Testing done: Ran unit tests.

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