Fix unit tests for diff filenames.

My fix to strip off leading slashes in filenames broke one of the unit tests
for post-commit review request creation. The fix is just trivially updating the
expected result.

Testing done: Ran unit tests.
Google Code post-receive hook

This is a Google Code post-receive hook that will automatically close review
requests as "submitted" after a push. To determine which review requests should
be closed, it scans through each commit's commit message for the following
strings (case-insensitive): "Reviewed at <reviewboard_url>/r/<id>" or "Review
request #<id>".

This is what the JSON payload looks like:
http://code.google.com/p/support/wiki/PostCommitWebHooks

Testing Done:
All tests performed using an SVN and Mercurial repositories.

1) Push with the review request id in the commit message. Review request
   closed.
2) Push without a review request id in the commit message. (Error: Review
   request does not exist)
3) Push with non existent review request id. (Error: Review request does not
   exist)
4) Push with review id in the message that is already submitted. (logged a
   warning: request id already submitted.)
5) Push with review id in the message that has been marked as discarded.
   (review request marked as submitted.)

Reviewed at https://reviews.reviewboard.org/r/5744/
Fix permission name for creating repositories.

The Repository API already had some plumbing to allow users with a given
permission to create repositories regardless of their admin/staff status, but
it was using the wrong permission name. Trivial change.

Testing done: Ran unit tests.

Fixes bug 3307.
Merge branch 'release-1.7.x' into release-2.0.x
Change the URLs and method names for the new close webhooks.

The webhooks that close review requests after code is committed had the URL
"post-receive", which doesn't explain what it does, and the method names had
similar issues. I've gone through and changed both the URLs and the resulting
view names to be clearer.

Testing done: Ran unit tests.

Reviewed at https://reviews.reviewboard.org/r/5760/
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 reviewboard __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.

Testing Done:
Built successfully on Fedora.

Reviewed at https://reviews.reviewboard.org/r/5690/
Merge branch 'release-1.7.x' into release-2.0.x
Added sandboxing to CommentDetailDisplayHook

This change adds exception handling so that broken extensions which use
CommentDetailDisplayHook won't take down the reviews page. This includes new
unit tests for this behavior.

Testing Done:
Unit testing - tested both render_review_comment_detail and
render_email_comment_detail with and without sandboxing

Reviewed at https://reviews.reviewboard.org/r/5709/
Add some error handling to autocomplete.

This is a minimal version of how the backbone models handle errors, except that
I put the JSON parsing into the error callback rather than directly into the
autocomplete library, in order to keep the latter more generic.

Testing Done:
All unit tests pass, except some VCS-specific ones, which were skipped.

Reviewed at https://reviews.reviewboard.org/r/5766/
Use imp.find_module instead of import.

Trivial change to avoid a pyflakes warning.
Add support for auth-backend UserQueryErrors.

Extensions with custom AuthBackends can now raise a UserQueryError, with a
detailed message, from within a query_users() method. It will be caught and
turned into a web API USER_QUERRY_ERROR.

Testing Done:
All unit tests pass except for some VCS-specific ones, which are skipped.

Manually verified that a UserQueryError with a custom message passed from an
extension gets included in an AJAX error response.

Reviewed at https://reviews.reviewboard.org/r/5771/
Fix unicode problems in BaseReviewRequestDetails.__str__

The BaseReviewRequestDetails __str__ method was returning unicode, even for
python 2. Most of the time this wasn't an issue, since we don't use that method
very much, but if the summary contained unicode characters, it could break the
admin UI. Making this class use the @python_2_unicode_compatible decorator
fixes this.

Testing done: Ran new unit test.

Fixes bug 3325.

Reviewed at https://reviews.reviewboard.org/r/5770/
Fix dependency checks in manage.py

Our dependency checks (which print errors and warnings when running the
devserver) weren't working, because of the changes in how the settings module
is defined. We used to check whether the settings module was defined in the
environment, but when we switched to Django 1.5, we started inserting that into
the environment ourselves. I've added a flag to check whether or not we're in a
subprocess.

Testing done:
Ran the devserver and saw it run the dependency checks (but only once).

Reviewed at https://reviews.reviewboard.org/r/5770/