Abstracted blackouts out from events into their own objects

Blackouts can be created in two different ways: through the new blackouts controller, and through editing an event. The only way to associate a blackout with an event is to create the blackout through the event. Blackouts not associated with events must have an associated title. Exec and above can manage blackouts. Event TICs are also allowed to manage the blackout period for their events.

The migration that adds blackouts and removes the “blackout” column from the events table creates a blackout period for every eventdate belonging to an event marked blackout. The resulting data represents the same information as in the old system (and will show up similarly in the minicalendars) but is at best a transitory stage—multiple blackouts related to the same event should be consolidated into one blackout period where appropriate.

Also rewrote how the minicalendars are rendered.

refs #132
Fixed bug that would prevent general members from seeing the "Edit event" link even when they had the permission to
Removed a few unnecessary helpers