Fix upgrading from pre-1.7 databases.

rb-site does a check to see if a dedup operation should be run. This
ends up checking some modern fields that didn't exist pre-1.7.

We now wrap this and catch the exception, handling the case where the
operation fails due to a database error. The assumption we make is that
if there's a database error, we're likely upgrading from a database that
doesn't have these columns, and a dedup is probably needed.

Reviewed at https://reviews.reviewboard.org/r/5756/
Prevent caching of filediffs when condensing diffs.

Some users reported running out of memory when attempting to condense
diffs on large databases. This is caused by Django's default behavior
of caching retrieved objects when evaluating a queryset. It'd end up
caching all objects it'd fetch, eating up all memory.

Using iterator() bypasses this, preventing caching and giving us the
objects directly. It should prevent the memory issues people were
hitting.
Merge branch 'release-2.0.x'
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
Merge branch 'release-2.0.x'