Don't expect the build-media script to be executable.

This changes the setup script to invoke python explicitly, instead of expecting
execute permissions on the build-media script.
Exclude "tests" python package from build.

This should not be installed along with djblets.

Reviewed at https://reviews.reviewboard.org/r/4339/
Document the hard limit on the max-results query parameter.

We cap API requests to 200 results, even if people have passed a higher number
for "max-results". This is still a good idea, but we should document that
limit.

Fixes bug 2662.
Reviewed at http://reviews.reviewboard.org/r/4421/
Add "X-Content-Type-Options: nosniff" header for IE8

This should help prevent IE8 from offering to download API payloads.

Fixes bug 2889.
Reviewed at http://reviews.reviewboard.org/r/4422/
Use named arguments instead of positional ones for i18n purposes.

We don't really localize any of this yet, but xgettext warns about the use of
positional arguments.
Fix compatibility with Python 2.5

Our controlled_subprocess context manager used Popen.kill, which is only
available in Python 2.6. Additionally, os.kill didn't gain windows
compatibility until 2.7, so we're stuck having to do some kind of gross things
to kill the process.

Fixes bug 2935.
Add utilities for the javascript message catalog.

Django has a view for serving a javascript implementation of gettext and a
message catalog for the desired language. This view recomputes everything every
time it's fetched, which is kind of terrible. This change adds some utilities
for caching the data in a way which works like our old media serial did.

Testing done:
Used this in conjunction with some mocked-up javascript i18n files for
different languages and saw it generate and use good cache keys.

Reviewed at https://reviews.reviewboard.org/r/4451/
Use extension package name rather than display name for the media dir.

Extensions have two different "Name" fields--one of which comes from the
packaging, and is often short and ugly, and one of which is defined in the
extension metadata dictionary, and is meant for display to the user. Since the
introduction of the metadata overrides, we were using the latter for the name
of the media dir, when we wanted to be using the former.

Testing done:
Enabled an extension in reviewboard with an overridden "Name" field and saw
that the media directory in htdocs/media/ext was created using the package
name.

Reviewed at https://reviews.reviewboard.org/r/4461/
Require the latest security release of Django 1.4.