Fix saving extension settings.

A recent change added a 'request' parameter to SiteSettingsForm, and
changed the calls in siteconfig to pass the 'data' and 'files'
values as keyword arguments.

This broke the form, because extensions use the configure_extension
view, which passes data as positional arguments.

While that view could also just be updated for this, the convention is
to pass 'data' and 'files' as positional arguments, and most callers do
so. To provide the best compatibility, we now do this as well, and leave
optional keyword arguments (request) as keyword arguments accessed
through `kwargs`.

Reviewed at https://reviews.reviewboard.org/r/5967/
Fix the extension 'enabled' state in the API after enabling/disabling.

A recent regression caused ExtensionResource's 'enabled' state to be
incorrect after enabling/disabling an extension. The value would be that
of the old state. This led to an unexpected combination of states in the
extension list, which caused the "Enable", "Disable", etc. actions to
disappear.

The reason this happened is that get_object() now caches results, and
ExtensionResource was attempting to use it in order to reload the
RegisteredExtension instance. We now reload it like all other resources
do, which is to just re-fetch from the database using the existing
instance's ID.

Reviewed at https://reviews.reviewboard.org/r/5969/
Merge branch 'release-0.8.x'
Fix issue with links in description/testing done.

When clicking a link inside the element, stop propagation of the click event so
that the link works like normal.

Also tighten up the code is no longer necessary in the mouseup event because
the click handles the same thing.

Testing Done:
Tested on my mac in Chrome, Firefox, and Safari (sorry I don't have any IE
handy to test with):
* Clicking a link opens in a new tab. It no longer opens the editor either if
  you have permission to edit.
* Clicking and dragging, mouseup on the link selects the text, doesn't open the
  editor
* Clicking anywhere else still opens the editor.

Bugs closed: 3377

Reviewed at https://reviews.reviewboard.org/r/5985/
Add release notes for Djblets 0.8.4.

This covers all the changes made since the 0.8.3 release.

Reviewed at https://reviews.reviewboard.org/r/5949/
Release Djblets 0.8.4.
Bump to 0.8.5 dev.
Merge branch 'release-0.8.x'
Fix the calculation of the previous index in a paginated resource list.

The max() call used to calculate the previous index was missing a constraint
value, causing an error when generating the link. We now constrain it to be
no less than 0.

Reviewed at https://reviews.reviewboard.org/r/5989/
Release Djblets 0.8.5.
Bump to 0.8.5 dev.
Merge branch 'release-0.8.x'
Improve style customization of the configforms templates.

This enhances the configforms in a few ways to allow for more flexible
styling.

First, the boxes now make use of a "box-foot" class, which is used on
RBCommons. This extensions our box style convention to have a "head",
"main", and "foot", allowing for a separation of CSS rules for the main
part of a box and the footer.

It's also now possible to specify the base template name through a
base_template_name attribute on the ConfigPagesView.

Field rows will now contain a 'checkbox-row' class if it's a checkbox,
radio button, or a multi-select of checkboxes.

Finally, there was a typo where "clas=" was used instead of "class=",
which has been fixed.

Reviewed at https://reviews.reviewboard.org/r/5995/
Fix config forms item action and spinner styles in Firefox.

Firefox didn't display the item actions very well. They were being
wrapped to the following line, due to a combination of `float: right`
and `white-space: nowrap` (ironically).

To fix this, we now put all the action elements in a new <span> that's
floated right and placed as the first element in the item. This gives us
the look we want across all browsers.

The spinner is also now properly vertically aligned, and placed right
before any actions (if there are any).

Reviewed at https://reviews.reviewboard.org/r/5996/
Merge branch 'release-0.8.x'
Avoid deleting previous PYTHONPATH

With the previous putenv command, if an user had already set the PYTHONPATH
environment variable, its value was deleted and substituted by os.getcwd(),
which may prevent the installation if the dependencies are installed in a
different path. Now, it appends this value to the previous value set in the
sys.path, so the user configuration is kept.

Reviewed at https://reviews.reviewboard.org/r/6001/
Merge branch 'release-0.8.x'