Add TableView and TableItemView to configForms.

This adds a couple of useful views for rendering lists of items using
tables instead of standard lists.
Fixed get_url_params_except function to work with not ascii contain query

There are an error in urlencode if query contains non ascii strings.

Reviewed at https://reviews.reviewboard.org/r/5722/
Fix some rendering-related problems with ListView and ListItemView.

ListView was attaching to collection events in initialize and rendering
as a result. This meant that they could render before render() was
called, causing breakages. Now, these events are attached in render()
instead.

ListItemView had some whitespace before the default displayed text,
which isn't ideal. This changes the template to not indent.
Use jasmine.suites for all Djblets JavaScript unit tests.

This switches all our unit tests to use the new jasmine.suites utility
library. It breaks down all the '/'-separated paths for each file's test
namespace into test suites and combines them to make it easier to suites
spread out across files.

All existing suites are placed under a 'djblets/' namespace, which will make
it easier to distinguish Djblets tests from other modules.
Update locale files for Djblets.

This change bundles together three things:
* Extracted all newly-introduced strings.
* Added all translations and updated strings from transifex (including a new
  Korean localization)
* Removed LANGUAGES from settings.py, so that we can just fall back on Django's
  list, which is much more comprehensive.

Reviewed at https://reviews.reviewboard.org/r/5742/
Always encode GET parameters back to bytes before calling urllib.quote()

When building the pagination links, the webapi code will iterate through all
the query parameters (excluding those related to pagination). These would then
be passed into urllib.quote(), which doesn't handle unicode strings (only
bytes).

This manifested itself in the users list API when a query parameter had unicode
characters in it.

Testing done:
Ran new unit test before and after the code change. Saw that before it
reproduced the bug, and after it worked fine.

Reviewed at https://reviews.reviewboard.org/r/5732/
Merge branch 'release-0.7.x'
Use more explicit CSS class names for boxes in configforms.

The configforms code now uses some better CSS class names for boxes. The
title of a box now uses "box-title", and is wrapped in a "box-head"
element. The main part is now "box-main".

This makes these easier to style without conflicting with existing
"main" and "title" classes.
Fix leaking data between TemplateHooks and add sandboxing.

TemplateHooks could easily leak data into the main context when
rendering, overriding variables provided by other contexts. While
TemplateHook tries to push/pop, subclasses can always override and
forget to do so. They can also potentially raise an exception, breaking
the rendering of the page.

To work around all this, we now push/pop in template_hook_point, to
prevent any leakage, and catch exceptions to help sandbox.

Reviewed at https://reviews.reviewboard.org/r/5761/
Support building media with parallel-installed Django

On systems such as Fedora where older versions of Django are installed as
alternative versions (and not directly importable), we need to ensure that we
are importing exactly the right version of the Django modules.

This patch adds a new variable in the djblets __init__.py that is imported by
both setup.py and build-media.py to ensure that they are both relying on the
same version of Django.

This doesn't get handled automatically by setuptools because this script is
invoked directly via sys.executable() in BuildMedia().

Testing Done:
Successfully built Djblets for Fedora

Reviewed at https://reviews.reviewboard.org/r/5689/
Merge branch 'release-0.7.x'
Fix context leaks when using Context.update().

Context.update() implies a push(), which some of our code wasn't
accounting for, resulting in leaked state This mainly impacted
extensions, though datagrids were also doing this (not resulting in
leaks, but rather slightly slowing down rendering).

We now construct a Context as late as possible, instead of creating one
early and operating on it, and pop() when necessary.

Reviewed at https://reviews.reviewboard.org/r/5763/
Add the ability to remove source media files when building extensions.

When packaging extensions, it's now possible to strip away all source
media files (non-minified JavaScript/CSS/LessCSS files) from the
resulting package. These are generally not needed, and doing so can
reduce the size of the package.

There's a 'remove-source-files' option that can be set in setup.cfg that
will cause all JavaScript/CSS/LessCSS source files to be removed from
the build. This can be set by adding the following to setup.cfg:

    [build_static_files]
    remove_source_files = 1

Reviewed at https://reviews.reviewboard.org/r/5775/
Release Djblets 0.8 RC 2.
Bump to 0.8 RC 3 dev.
Fix populating extension settings forms from defaults.

The move to SiteSettingsForm broke extension configuration pages
slightly. They accessed the settings object using settings.get(key), and
not through settings[key], which prevented any defaults from being
fetched.

There's now a get() function that works just like attribute access,
returning defaults, but with the semantics of the standard dict.get()
call. This complements set().

Reviewed at https://reviews.reviewboard.org/r/5805/
Bump required version of django to 1.7.13

Picking up the latest security release.
Merge branch 'release-0.7.x'
Bump django dependency to 1.6.5

Picking up the latest security release for Django.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	djblets/util/http.py