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