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/
Merge branch 'release-2.0.x'