WIP - fix lib/router hook method definitions.
WIP - Start cleaning up tests.
WIP - Fix up hooks based on discussion with Tom...

- You can't call _run twice on a controller without calling stop first.
- You can't call stop from within run or any of its computations. It's just a no
  op but will give a warning for legacy.
- hooks get a pause function passed as a first parameter and can stop
  downstream hooks from running until the outer computation is invalidated.
Merge remote-tracking branch 'origin/blaze-integration' into blaze-integration