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.
Add a new Extension.initialize function for doing initialization.

Previously, custom extensions would subclass __init__, take the required
arguments, call the parent function, and perform initialization. In
order to simplify this a bit, extensions can now choose to override
initialize() instead, which will be called by __init__.

This function does nothing by default, and does not need to be called by
the subclass. That simplifies extensions, saving some code.
Add an extension hook for connecting to signals.

This introduces SignalHook, which allows extensions to easily connect to
signals and not worry about having to disconnect them. SignalHook takes
care of the initial connection to the signal and the eventual disconnect
on shutdown.
Specify TRACKING_BRANCH in release-0.7.x's .reviewboardrc
Merge branch 'release-0.7.x'