Show live relative timestamps in the datagrids.

The "X minutes ago" timestamps in the datagrids were still being
computed on page load. Now they're live, just like the rest of the UI.
Require Djblets 0.6.20.
Release Review Board 1.6.10.
Require Djblets 0.6.21.
Fix the order of displayed comments on a review.

Diff comments and replies were displayed in insert order rather than
timestamp order. This made things very confusing when comments were
created in orders other than top-down, or when replies were published in
orders other than the order created.

This was due to the ordering for diff comments not including the
timestamp, and instead taking into account only the filediffs and line
numbers. The timestamp is now factored in.

Fixes bug #2684
Properly handle draft and inactive screenshots/file attachments.

The recent optimizations caused a regression for screenshots and file
attachments where any draft entries wouldn't be shown for the user after
uploading until the review request was published. This was due to
querying the review request and not the draft for these.

There was also a performance issue where inactive screenshots/file
attachments weren't being cached, causing a lookup per comment
referencing an inactive one. Now we cache these, but only when we
encounter a case where we need them.

Unit tests were added to cover these cases.

Fixes bug #2685
Optimize the screenshot, file attachment, and no-repository code paths.

The screenshot page was quite slow still, as it didn't take advantage of
the new caching abilities in the models. We now have the query count
down pretty extensively.

File attachments on the review request page were pretty costly too, due
to a special template tag we have that serializes all the file attachment
comments. The problem there was that we weren't accessing the right
caches. Primarily, they were accessing comments directly. FileAttachment
and Screenshot both have get_comments() functions that both return from
the cache and sets it, which solves this.

Review requests without repositories were still trying to compute diffs,
which was a waste of effort. This happened on the review request page,
screenshot page, and on the Last Updated check. Now we skip these if
there are no repositories. This skipping is done in a new convenience
method, ReviewRequest.get_diffsets.
Require Django 1.3.2.

The Django project released 1.3.2 to fix some security vulnerabilities.
We now depend on this release for 1.6.10.
Release Review Board 1.6.11.
Use the new location for humanize_list.

This updates calls to humanize_list to use the new location. This is
particularly important for the scmtools code path, so that rbssh doesn't
end up importing a module requiring a Django settings environment.
Change the Djblets requirements to handle nightly builds.

The requirement of 0.6.23.dev wasn't good enough to handle nightlies.
Now we require anything newer than 0.6.22 and less than 0.7alpha0.dev.
Fix several pyflakes warnings and errors.

Most of theses are unused imports, but there are a few undefined symbols
that would be hit in error cases. These will be needed for the next
release.
Require Django 1.3.3.

Django 1.3.3 restores Python 2.4 compatibility. This will be a hotfix
release for RB 1.6.11.
Merge commit 'release-1.6.11-hotfix1' into release-1.6.x