Handle internationalization in djblets.

This change does a bunch of stuff to get djblets ready for i18n. The various
pieces of this are:
* Marking all strings for translation (most were already done).
* Switching code that was using ugettext in a "static" context to use
  ugettext_lazy instead.
* Rearranging a little bit of the javascript to format localized strings into
  underscore templates along with the data, rather than encoding text in the
  template itself.

Testing done:
1. Generated the .po files and copied over some data from matching strings
   into the zh_TW .po one.
2. Compiled the .po files to .mo
.. In conjunction with some Review Board changes to include the djblets locale
   paths, loaded various things that used the djblets localization. Saw that
   text in both back-end python/template and front-end javascript code was
   translated.

Reviewed at https://reviews.reviewboard.org/r/5090/
Add message catalogs.

Simple output of django-admin.py makemessages
Compile and ship localization files for djblets.

This works just like the build process for reviewboard. When doing an sdist, we
compile the .po files to .mo, and include everything in the locale directory
with the distribution.

Testing done:
Built an egg and verified that the build/lib directory contained a locale
directory that had both .po and .mo files. Installed the egg and checked
the files in site-packages.

Reviewed at https://reviews.reviewboard.org/r/5100/
Fix a regression with the new webapi auth backends.

The webapi auth backends was attempting to short-circuit the actual
authentication in the wrong place, causing an undefined variable to be
looked up. This was breaking requests that included the Authorization
header for a logged in user.

We now check for this in the actual backend, once we have the username.
Release Djblets 0.7.27.
Merge branch 'release-0.7.x'