Include .less files in builds.

The .less files were missing from sdist and bdist_* builds, causing
issues when rebuilding media or when other files needed to reference a
.less file.
Release Djblets 0.8.2.
Merge tag 'release-0.8.2' into release-0.8.x
Merge branch 'release-0.8.x'
Fix reloading of logging settings.

restart_logging() wasn't properly reloading the logging settings. It
didn't know about all the handlers that were set, meaning the previously
registered ones wouldn't be reloaded. This led to duplicate log messages
with every attempt to reload.

It now unregisters every single log handler before re-adding them.

Reviewed at https://reviews.reviewboard.org/r/5934/
Fix a XSS vulnerability with bad input to json_dumps.

Django's JSON serialization does not handle escaping of any characters
to make them safe for injecting into HTML. This allows an attacker who
can provide part of a JSON-serializable object to craft a string that
can break out of a <script> tag and create its own, injecting a custom
script.

To fix this, we escape '<', '>', and '&' characters in the resulting
string, preventing a </script> from executing.
Fix a XSS vulnerability in the gravatar template tag.

The generated gravatar HTML wasn't handling escaping of the display name
of the user, allowing an attacker to choose a name that would close out
the <img> tag and inject a <script> tag.

Django 1.4 does not include format_html(), so instead, we just call
escape() on every value going into the HTML.
Fix running the webapi unit tests on Python 2.5.
Release Djblets 0.7.30.
Fix a XSS vulnerability with bad input to json_dumps.

Django's JSON serialization does not handle escaping of any characters
to make them safe for injecting into HTML. This allows an attacker who
can provide part of a JSON-serializable object to craft a string that
can break out of a <script> tag and create its own, injecting a custom
script.

To fix this, we escape '<', '>', and '&' characters in the resulting
string, preventing a </script> from executing.
Fix a XSS vulnerability in the gravatar template tag.

The generated gravatar HTML wasn't handling escaping of the display name
of the user, allowing an attacker to choose a name that would close out
the <img> tag and inject a <script> tag.

By switching to Django's format_html(), we can guarantee safe escaping
of content.
Merge branch 'release-0.7.x' into dev-0.8.3
Release Djblets 0.8.3.
Merge branch 'dev-0.8.3' into release-0.8.x
Merge branch 'release-0.8.x'
Update the 0.7.30 release notes with the CVEs.
Merge branch 'release-0.7.x' into release-0.8.x
Update the 0.8.3 release notes with the CVEs.
Merge branch 'release-0.8.x'
Allow passing request in to SiteSettingsForms.

The new e-mail test functionality in Review Board needs the request from within
the settings form's save() method. This change adds some plumbing to allow
that. Trivial change.