Return 404 errors from the diff-comments resource.

When accessing the diff-comments resource, it would return a list of 0 items
instead of a 404 if the intermediate resource IDs were invalid. This change
fixes the URL to return 404 correctly, and also updates the FileDiffResource
queryset to use pk correctly in order to pass the unit tests.

Fixes bug 2552.
Reviewed at http://reviews.reviewboard.org/r/3401/
Update the serialize_*_fields functions to take a **kwargs.

This updates to provide a **kwargs, in order to work with the latest
changes in Djblets.
Add an avatar URL in the user resource.

User resources now list the URL representing the avatar for the user.
This is a gravatar URL that does not specify a size. The caller can tack
on accepted gravatar parameters to this URL to get the desired size and
settings.
Merge branch 'release-1.6.x'
Fix a couple path-related issues with rb-site and rbssh.

rb-site wasn't using the data directory as $HOME, and rbssh wasn't being
given the current PYTHONPATH. These weren't problems before, but became
issues with the new SSHDB key store.

We now set $HOME in rb-site to what we expect, and we pass sys.path as
PYTHONPATH when executing anything from an SCMTool.
Introduce a file attachment image review UI.

This introduces the first real review UI for file attachments. There's a
few new JavaScript objects for easily dealing with
FileAttachmentComments and FileAttachment-based review UIs.

The UI is the same as what we have for screenshots. In fact, the
screenshot code has changed to just use the new image review UI code,
but with models for working with Screenshot and ScreenshotComments.

There's also some new code for registering review UIs, which will make
it easier to start developing new UIs. This includes in extensions.
Merge branch 'release-1.6.x'
Fixed the layout of widgets when the Request Statuses widget is open.

The Request Statuses widget builds a pie chart and legend dynamically.
The problem is, this happens after the widgets are layed out on the
page. The result is that the content ends up overlapping the widget
below.

There's now an event we can trigger after drawing that will tell the
admin UI to re-layout the widgets.
Use raw ID fields for the LocalSite fields in the admin UI.

The LocalSite fields may become very large up on certain large-scale
deployments. This changes them to be raw ID fields instead of a drop-down of
options, which will speed up browsing the admin UI.
Allow automatic SSH key association when adding/editing GitHub repositories.

Defines an interface to allow a Review Board instance's SSH key to be
added to a hosting service's list of deploy keys for a given repository.
So far, only the GitHub HostingService implements the necessary methods
to upload the SSH key, and raises an exception when the upload fails.
The code is not currently being used by any module/app other than tests.

Reviewed at http://reviews.reviewboard.org/r/3423/
Fix screenshot thumbnails.

The CSS classes for screenshot thumbnails had changed, but the template
and JavaScript were still using the old names. I didn't catch this due
to generated media being cached here. They've now been changed.
Prevent useless comment fetching for screenshots and file attachments.

Screenshots and file attachments without comments weren't having their
_comments variable set, which was causing us to do a fetch later on
for each screenshot and file attachment. We now make sure to always
set _comments in review_detail, preventing these extra, useless fetches.
Add mutation APIs for review groups and their users.

This adds APIs for creating, updating, and destroying review groups, and
for managing the user list on groups.

The /groups/ API responds to HTTP POST and DELETE. /groups/<name>/
responds to PUT for updating all fields.

The /groups/<name>/users/ resource responds to HTTP POST and accepts a
username to add to the group. /groups/<name>/users/<username>/ accepts a
HTTP DELETE to remove from the group.

Unit tests were added to ensure that all responses are as expected for
various conditions, and that they work properly with LocalSites.

This was originally based on work done by Stephen Holsappie and Paul Hobb.
Merge branch 'release-1.6.x'
Update the docs database for the latest schema changes.
Update our README to be a bit more up-to-date.
Merge branch 'release-1.6.x'
Fix the quick search to use rbautocomplete instead of autocomplete.

The quick search field was using jQuery-UI's autocomplete instead of
our rbautocomplete, which was incompatible. This is the last remaining
big JavaScript issue I'm aware of with the jQuery/jQuery-UI upgrade.
Fix borders on dashboard

With my shiny (oh so shiny) new high resolution screen, the top right and bottom
right corners on the dashboard looked pretty gross. The problem here was that
while the outer container had a border radius, the inner container didn't, so it
overlapped in an ugly fashion.
Fix border radius on account navigation menu.

This fixes a minor styling issue where all items in the account navigation have
rounded borders (on the bottom left and bottom right) in the hover state, when
only the last item needs this styling applied.

Verified on Chrome, Safari, Firefox (all latest). Did not test in IE (no access
to Windows at the moment). :last-child isn't supported for IE < 9, but neither
is border-radius, so it shouldn't affect older versions of IE.

Reviewed at http://reviews.reviewboard.org/r/3489/