Update router.js
Don't set the isStopped state until after onStop hooks run.

- Fixes #481.
Minor cleanup and comment to pr/482.
Make server controllers work.

- Merge branch 'pr/482' into blaze-integration
- Close #482.
Actually stop the previous controller even with no cb.
Refactor router._run and clean up server controller.
Only include helpers if Spark is defined.
Refactoring some code into base class.
Bring back core helpers...

- Close #485.
- TODO: decide what to do with linkTo and other helpers. Might be nice to make
  this easily extensible with packages instead of maintaining it all in the
  router.
Set default template name converter to none...

- issue #484
- This was the previous behavior
Fix data API...

- RouteController data function is read only but is available to controller
  functions at any time (e.g. from hooks)
- Set the global data context at the end of the run so that new templates have a
  chance to render before the data context changes which could cause the old
  templates to re-render one last time before the change.
Clean up data API...

- Make read only
- Calling data() from controller always returns the controller's data, not the
  global data
- Move global data setting back to right after waitOn. The issue identified by
  Tom ended up being related to UI.With and UI.emboxValue.
WIP - Fixing data issues.
Change data api slightly to be more explicit.

- data and data(value) is easy to mess up.
Merge remote-tracking branch 'origin/blaze-integration' into new-location