Remove embedded URLs from core data collections

Fix #116
Initial commit of session refactor

See #229
Improve handling of deferred opening for Session
Remove assumption and reference of global data

QueryWorkflow now takes the data as passed options on construction. These
include:

- `concepts`: a collection concepts that are deemed queryable
- `context`: a context model which is commonly the currently "active"
one for the session.
Change global event names to be colon delimited

This is simply to be consistent with convention by Backbone
Clean up various formatting and add comments where needed
Rename `el` option to `main` in router
Remove global router in favor of session-based routers

This introduces a new module that acts as the 'default' module for
bootstrapping Cilantro with the default workflows. The `url` and
`credentials` in the configuration object will be used by this module
if included. This module also acts as a template for other main modules
to emulate after.

`c.session` and `c.router` will continue to reference the _current_ of
each when the session is successfully opened.
Pass models and collections directly into views

Parents are expected to pass relevant data down into subviews that
require references to the data.
Add support for workspace in cilantro/main