router: pass every view an object to store state.
schedule: store collection on private state.
playout: store collections on private state.
universe: avoid re-fetching of the collection
mediasearch: save query on state, proper unbinding

Also, I moved around some definitions. It seems I still don't get
how function hoisting works.
medialist: save state, proper unbinding.
utils: adds StateTracker helper object.
mediaedit: use StateTracker, proper (un)binding, reduce scope of jquery
selectors.
StateTracker: handle case when other client deletes the model.
EditView: handles model being deleted from other client.
StateTracker: check that backend events are for our model.

This should not be needed anymore with 38a10eba52ec49a17bf338b606bf8b5570ee6336
on mbc-common but it doesn't hurt.
router: add pre and post route signals and promise to handle transitions
router: basic animations upon view change.

It'll be nice if we know the direction (as shown on Header) and animate
according to that.
view changes: use fade instead of swing.
start porting of MediaListView to PanelView
MediaListView: ported to PanelView, misc changes.

    - use of 'self' instead of 'this' where appropiate.
    - move methods to extend().
    - proper (un)binding to events on the current model.
    - but still looks like spaghetti.
make MediaView inherit from PanelView
MasterView: adds pre and post render signals.
transitions: use direction according to view position in header.

Now the preroute and postroute signals have the old and new position as
parameters.

Also, reorder the routes to match the display order.
MediaListView: trigger events for single and double click.