Made routes compiler its own plugin

* Improved the structure of routes compilation, so that it's more
  configurable
* Made the incremental compilation good
* Took many of the old integration tests for the router and turned it
  into a scripted test
* Wrote scripted tests for incremental compilation
* Included mocha tests for the JavaScript reverse router in incremental
  compilation
Merge pull request #3067 from jroper/routes-compiler-plugin

Made routes compiler its own plugin