Switch to the new template loaders from Djblets.

This updates our list of template loaders to use the new
conditional_cached (which only caches if DEBUG = False) and
namespaced_app_dirs (which allows app module prefixes for paths).
Add a link to the package store on the extensions page.

This adds a "Get more extensions" link on the extensions page, to the
left of the "Scan for installed extensions" link. This link points to
the URL for the upcoming Package Store.

Reviewed at https://reviews.reviewboard.org/r/6093/
Add better support for added and deleted empty files.

The addition and deletion of 0-length files were not included in the diffs of
review requests. This was especially troublesome when we needed to add or
delete an empty ``__init__.py`` file, for example.

This change adds support for including new and deleted empty files in review
requests for Git, SVN, Mercurial, and Perforce. New empty files will be
displayed with the text "This is an empty file.", and deleted empty files will
be displayed with the text "This empty file was deleted. The content cannot be
displayed." (see the attached screenshots).

Testing Done:
I used rbt post and the "New Review Request" page to create review
requests with different Git diffs, and rbt post for SVN, Mercurial, and
Perforce diffs:
- Diff with 1 new empty file
- Diff with 2 new empty files
- Diff with 1 new empty file, 1 new non-empty file
- Diff with 1 new empty file, 2 modified files
- Diff with 1 deleted empty file
- Diff with 1 deleted empty file, 1 modified file
- Diff with 1 deleted empty file, 1 deleted non-empty file, 1 modified file

After this change, the 3 unit tests that tested parsing a Git diff with a new
empty file failed. (Since a new empty file is now included, the number of files
from parse() has increased by 1.)

After updating the 3 unit tests to reflect this change, all unit tests pass.
The new unit tests also pass.

Bugs closed: 895

Reviewed at https://reviews.reviewboard.org/r/5785/
Fix visual issues with saving fields during publish.

When publishing a draft review request, we go through and save all open
inlineEditors. This was using the "save" method instead of "submit", which
caused a regression in multi-line fields that use CodeMirror. The result of
this is that the fields would disappear entirely. Switching to "submit" makes
it show the rendered version properly.

Testing done:
Made some changes to "description" and "testing done", and then tried to
publish my draft. Saw that the fields didn't disappear.

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