Escape text on hidden content dividers.

ReviewBoard shows you a certain amount of context around the changes.
Above
this you're provided with two options...

  [+] 1005 lines
  [+] public void titlesModified(List<Title> titlesAdd, List<String>
      titlesDelete,

This is all fine and well, except in the case of content like that shown
above.  'Title' coincidently belongs to an html tag, and including it
breaks the html parser for the page (as it would with '</script>' and a
few other things). HTML escaping these lines to prevent this.

The main visible result is that diff hunks beyond the first fail to
load. In firebug you get the error of...

Uncaught ReferenceError: setFileAttachmentComments is not defined

Reviewed at http://reviews.reviewboard.org/r/4330/
Fixes bug #2612
Merge branch 'release-1.6.x' into release-1.7.x
Merge branch 'release-1.7.x'
Update Amazon S3 support to use the newer django-storages s3boto backend.

It seems that the Amazon S3 support for file storage is broken. It is
likely that this is due to the changes in Amazon side. Right now the
default AWS SDK for Python is boto which is already supported by
django-storages. it only requires to specify a different backend.

This will add a new dependency to reviewboard in order to support
Amazon S3. Apart from django-storages, boto package is also required.

Note: I needed to uninstall the botocore package which was also
installed in my system. It seems there was a conflict with boto.

Reviewed at http://reviews.reviewboard.org/r/4333/
Fix the Review and Ship It actions on the diff viewer page.

The diff viewer page defined a new list of event handlers, but didn't
extend the parent's list, causing the Review and Ship It actions to do
nothing. We now extend it properly.
Remove a bunch of unused graphics.

We had a variety of images from the past, some of which weren't even
ever used. These images are unused today, and there's no plans to use
any of them in the future, so get rid of them. This saves about 50KB
from our packages.
Add JavaScript for validating diff files.

This is the client side of the diff validation resource. To use this, one
instantiates the model, sets the repository/diff/parent diff/basedir, and calls
save(). Either the "success" or "error" callbacks in the options object passed
to save will be called, based on whether the diff parses correctly and the
source files exist.

Testing done:
- Ran unit tests.
- Used this with a number of different diffs that caused various errors.

Reviewed at https://reviews.reviewboard.org/r/4320/
Improve rendering of new files in the diff viewer.

New files no longer have the blank line number and code columns for the
left-hand side of the diff. It just has the new code's columns.
Update diffviewer unit tests to pass newly required data.

One of the unit tests broke with my new change for improving the display
of new files in the diff viewer. It wasn't provided all the expected
data. It's been updated to pass it.
Use raw ID fields for the ReviewRequest.depends_on and repository fields.

ReviewRequest's depends_on and repository fields can cause massive
queries in the admin UI. They're now set to use raw ID fields instead of
showing lists of possible items.
Add generated CSS files to the gitignore list.
Fix the color of the border between navbar and dashboard.

The border color was black, which stands out in the modern dashboard.
It's now using the same color as the dashboard border, blending in
nicer.
Add views and tests for a branches selector.

This change adds views to show a RepositoryBranchesCollection using a <select>
tag. This is used in the new post-commit review request creator.

Testing done:
- Ran unit tests.
- Used this in my post-commit UI.

Reviewed at http://reviews.reviewboard.org/r/4321/
Add a commit selector view.

This is used by the new new review request UI for creating requests from
committed revisions. This handles the basic functionality of displaying a list
of commits and triggering a 'create' event when one is clicked (or navigating to
the review request if one already exists).

There's a little bit more on my todo list for this, namely:
- Providing some visual indication when there's already a review request.
- Using the API pagination to provide infinite scroll.

Testing done: Used this in my post-commit UI.

Reviewed at https://reviews.reviewboard.org/r/4322/
Combine all our icons into a spritesheet.

This spritesheet contains a good chunk of the artwork Review Board makes
use of. It speeds up load and render time, since we get to replace 26
file downloads with 1.

Some images were thrown out, such as the icons for certain widgets in
the admin UI that weren't really necessary, and the dropdown triangle on
the action menus.

In a few cases, logic or style changes had to be made to work with the
new class names and icon divs. The only cases where things differ is
where we had some pretty bad alignment choices from way back when on a
couple elements, and they're now fixed. (Pencil on the summary being one
example.)

This work will make it easier for us to add retina icons in time.
Clean up bits of the datagrid code.

Every time someone submits a contribution to the dashboard or other
datagrids, they copy our old column code, which doesn't use super() for
parent constructors, and doesn't format docstrings correctly.

This change fixes up the datagrid code to be more consistent with newer
code going into Review Board, and to also clean up our documentation a
bit. There are no functionality changes.
Fix a unit test impacted by the spritesheet changes.

The dropdown action hook test for extensions was expecting the dropdown
icon to still be used. It's been updated to look for the dropdown entity
instead.
Fix the display of draft comments in review UIs.

Draft comments from other users were being shown in review UIs, since we
weren't filtering out based on whether the current user had the ability
to see the comment.

This affected the image review UI, and anything else using the default
get_serialized_comments function.
Add views and tests for a repository selector.

This change adds views to show a collection of RB.Repository models in HTML
suitable for the new review request UI. This is plumbed through so that the view
will emit a 'selected' event and toggle element classes when the user clicks on
any individual repository in the list.

Testing done:
- Ran unit tests.
- Used this in my new review request UI.

Reviewed at https://reviews.reviewboard.org/r/4353/
Merge branch 'release-1.7.x'