Revert "Fix JSON validation to accomodate JSONField data that looks like a python literal."

This reverts commit ef4893848d2f402660ba5e4419bc2ff0743a5caa.

That change broke Python 2.4 and 2.5 support (due to the
"except Exception as e" syntax), and also broke JSON validation in the
admin UI (causing badly formatted JSON to result in wiping out the
entire payload).

An upcoming change fixes this in a better way.
Properly represent JSON data in text fields in the admin UI.

Our JSON support has historically had some issues in the admin UI,
though we broke it a bit further in a recent release. This change
finally makes it work the way we always dreamed it would.

JSON data is now properly shown as-is, not as a Python repr() of the
structure, complete with validation. What's saved becomes valid JSON in
the model.

To make this work, JSONField now uses a custom form field
(JSONFormField) to do the conversion at the appropriate time from the
Python data to the serialized JSON. This will automatically be used in
every part of the admin UI and in every form that uses a JSONField.
Merge branch 'release-0.7.x'
Add support for webapi auth backends.

This adds support for custom auth backends for the webapi. API auth
backends are a simple class that pulls credentials from a request and
authenticates with them. They're designed to work for common methods
(like Basic HTTP Auth) and to be subclassable for something more complex
(such as one-time password tokens).

Multiple auth backends can be specified, and each will be tried until a
matching request is found. This means we'll be able to add Digest Auth
soon, in theory.
Release Djblets 0.7.26.
Merge branch 'release-0.7.x'
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/