Brought sanity to route building (internal only; no public api changes)

- created a common context for route block evaluation; used for both
  main route blocks and nesting (groups/namespaces/templates)
- removed old RouteTemplate
- refactored tests