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
Fix reference replacement of columns.data.facets

The facets collection is now correctly reset with the view's contents.
Change updateView to resetFacets

The session view is already referenced and thus does not need to be
passed to the columns region to be reset the facets.
Handle the initial view change and concepts reset

In order to render the selected items, both the view and concepts
collection need to be present. Listeners for each are defined to fire
once when they trigger the initial state change.
Update tests to conform to organizational changes
Reset models instead of simply setting in ViewModel.jsonToFacets

The addition of `idAttribute` in 34604027 to ViewModel caused the
`set` to break since changes were merged in without the new order
of the attributes.
Remove jasmine setup module

It was used to reset the promiser global which had been removed in
34604027.
Add validation check on Session.open

Update validation method to return a message if url is not defined.
Fix missed port to this.data.exporters from 34604027
Add missing new keyword for WorkspaceWorkflow in workspace route
Add missing negation to data assertion in WorkspaceWorkflow