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.
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/