Rename "reporters" to "contributors".

The more generic term allows for mixes of professional and amateur
contributors in the same event without legal confusion. It also covers
more cases since for game events it's more like "announcer" or
"commentator" etc.

The term only really shows up in the behind-the-scenes stuff
(contributor-only pages and in the code) and the sidebar now says
"updated by".
Add some missing fields to the JSON for updates.

The missing fields were:

    * author
    * stricken
    * embeds
Overhaul frontend.

This moves everything into backbone models and views and renders changes
to state client-side. The goal is to increase maintainability as the
previous code was growing unwieldy. Additionally, client-side rendering
of updates opens up a lot of options like being able to use the viewer's
timezone.
Update dimension checking to avoid .id- selectors
Fix time separator using previous hour.
Use user-local timezone for all timestamps.

This makes time separators client-side only since we won't know
server-side what time zone they're in and some time zones aren't whole
hours off of UTC which would cause the time separators to happen in
different places.
Only allow desktop notifications if the socket is available.
Add button and discrete permission for closing stream.
Don't show removed or deleted links in the discussion bar.

Fixes #23.
Add simple way to prevent link from showing in discussions.
Change adding contributors to inviting contributors.

This mirrors the similar system for subreddit moderators.
Split out a base page that isn't event-context dependent.

This pulls some of the basic liveupdate stuff out to LiveUpdatePage and
moves the event-specific page stuff into LiveUpdateEventPage.  The
latter name was already used but that was a terrible name so the old
LiveUpdateEventPage becomes LiveUpdateEventApp which is closer to the
truth anyway.

The goal here is to have liveupdate CSS and JS available in non-event
contexts for e.g. listings of events.
Add system for reporting rule-breaking streams.
Add an event creation form for admins.
Fix regression of first-update not showing.

This regressed in the backbonification. :(
Fix incorrect inheritance of embed page.
Fix contributor page breaking for unlogged users.
Fix misnamed template for embed.
Give create form different "save" button text.
Make all liveupdate pages consistent width and center tabs.