Improve the structure and presentation of the Dashboard sidebar.

The Dashboard sidebar was pretty old, and is extensibility was not very
good. This change throws out all the old code, replacing it with a
nicer architecture and design.

DashboardDatagrid now has an instance of Sidebar, which works as a
container for BaseSidebarItem subclasses. Each item added will be
rendered when rendering the sidebar.

We provide two built-in subclasses: SidebarSection, and SidebarNavItem.
These are used to create the sectioned lists of links we use, along with
the counts.

Extensions can provide their own subclasses, which can override the
template and render custom data if needed. There aren't yet hooks for
this, but that will come in another change.

The design and organization has also changed. Instead of
"Starred Reviews," "Outgoing Reviews," "Incoming Reviews, "Watched
Groups," and "All My Requests," there's now only two sections:
"Outgoing" and "Incoming".

"Outgoing" has nav items for "All" and "Open," replacing "Outgoing" and
"All My Requests."

"Incoming" has "Open" (replacing the former link on "Incoming" itself),
"To Me", "Starred" (if there are any starred review requests), the list
of subscribed groups, and the list of watched groups.

The display is a bit nicer. The section labels are little larger and
don't have "Reviews" or "Requests" in the names. The counts are now
little bubbles showing the counts instead of free-floating text. The
current Dashboard view is also shown on the side, by making the
appropriate nav item appear selected.

There's also a couple CSS fixes for handling scrolling when there are
more items than screen space.