Add RouteMatch and continue migrating RC functionality to Route and RouteMatch.

- WIP
- Most of the RouteController functionality is in RouteMatch
- Route.prototype.run creates new RouteMatch
- Hooks and action are run in thisArg context of RouteMatch instance
- All hooks and the action function are isolated in their own Computation
- The data is set as part of the run, not in a hook
- Any hook or the action function can call this.ready() to see if all data is
  ready.