Add test: Expect 404 on invalid review access.

In particular, test if accessing the screenshots of a nonexistent review id
fails.

Testing done: Test passes with http://reviews.reviewboard.org/r/3767 applied.

Fixes bug 2551.
Reviewed at http://reviews.reviewboard.org/r/3761/
The "Posted Time" should be the time of publish.

Currently, the time_added of a review request is setup when a new record is
added. If there is a time difference between the creation time and the time of
actually publishing the review request, the field is not updated and it shows
the time of creation as the "Posted" time. This is fixed by updating the
"time_added" field to current time when a review request is published.

Testing done: Manual, Ran all tests to ensure no other breakage.

Reviewed at http://reviews.reviewboard.org/r/3753/
Fixes bug 1897.
Fix the settings import in the search index management command.

"import settings" should have been "from django.conf import settings".

Fixes bug 2872.
Clean up the name and spacing in the VersionOne code.

The VersionOne code had some spacing and trailing whitespace problems,
and also listed the service as "versionone" and not "VersionOne".
Don't show "Add comment" button if not logged in

This is for file upload reviews. Before, the button was there, but did nothing
for anonymous users. Also, fix some template tag indentation

Testing done: Checked if the button is gone for anonymous users and still there
for logged-in users. No failed tests.

Reviewed at http://reviews.reviewboard.org/r/3773/
Fixed bug allowing a request to be published with empty summary fields.

In the publish request page, if you filled the summary or description field then
deleted the contents, the fields would not be updated but the ReviewRequest
object would be updated.  This allowed a request to be published with empty
fields although the page showed they were not empty.

The fields are now emptied to then be filled with the new contents, avoiding
this issue.

Testing done: Checked in browser that the summary and description fields are
updated if you empty the field.  The Web UI does not allow the request to be
published after the field is emptied.

Reviewed at http://reviews.reviewboard.org/r/3760/
Fixes bug 2870.
Support localized revision strings in svn diffs.

If the host is running in a non-C locale, 'svn diff' will produce a diff with
the revision strings localized. Unsurprisingly, this would fail to parse
correctly. post-review already handles this by always invoking svn with LANG=C,
but if someone uploaded a diff manually, it would still break. This change adds
all the different localizations of "revision" to the regular expression that we
use for parsing.

Testing done: ran added unit tests

Reviewed at http://reviews.reviewboard.org/r/3749/
Fix "Review ID" column in the dashboard datagrid with a local site.

The review ID column would properly select which database field to access,
except DashboardDataGrid was popping the "local_site" value out of kwargs before
delegating to ReviewRequestDataGrid.

Testing done:
Created a local site and published a review request to it. Before this change, I
saw a review ID of "5" even though the URL was /s/test-site/r/1/. After this
change, saw a review ID of "1" in the dashboard.

Reviewed at http://reviews.reviewboard.org/r/3786/
Fix "Review ID" column in the dashboard datagrid with a local site.

The review ID column would properly select which database field to access,
except DashboardDataGrid was popping the "local_site" value out of kwargs before
delegating to ReviewRequestDataGrid.

Testing done:
Created a local site and published a review request to it. Before this change, I
saw a review ID of "5" even though the URL was /s/test-site/r/1/. After this
change, saw a review ID of "1" in the dashboard.

Reviewed at http://reviews.reviewboard.org/r/3786/
Merge branch 'release-1.6.x' into release-1.7.x
Merge branch 'release-1.7.x'
Add a new BaseResource model that will be used by all API models.

The BaseResource model provides all the common functionality for dealing
with requests and parsing results, ensuring a model is ready to use (has
its data fetched) before we do anything with it, and being able to
ensure it's created before using it. These models have a concept of a
parent resource that they're under (for example, a diff being under a
review draft).

This change just introduces this model and a suite of unit tests for it.
We'll move over to this in subsequent commits.