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.
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.
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.
Fix an HTTP 500 error when user registration fails.

A backport of some code to the 0.7.x releases resulted in user
registration failures being handled incorrectly. This was just due to a
couple missing imports. These have now been added, and old unused
imports have been removed.
Release Djblets 0.7.28.
Specify TRACKING_BRANCH in release-0.7.x's .reviewboardrc