Clean up API contracts...

- Between RouteController -> Router -> UI Manager
WIP - Clean up hooks...

- loadingTemplate and notFoundTemplate hooks are no longer added by default. If
  you want that behavior you can ask for explicitly using the string name of the
  hook (e.g. renderNotFound, renderLoading)
- If you specify a hook by string name, the Router.hooks namespace is searched.
  This gives us a place to put standard hooks and for other package authors to
  add new hooks.
- Data is set in the _run method of controller (not a hook) and waits for the
  controller to be ready (this.ready()).
- Layout is set right away on teh controler.
- Each hook is run in its own computation. This will **likely** change as it
  poses a few issues.
- Some API cleanup around uiManager

Next:

- Better hook design
- Client side blaze helpers like linkTo and pathFor
- Tests