3.0 router scopes

The second step of #3693. This removes the old routes code and wires up the new scoped collection. I noticed that the test suite runs a bit faster now. I'm going to re-run the original benchmarks and make sure the  performance improvements were actually realized.

I still have a few more changes to make after this:

* Improved errors. When a 404 is caused by missing routes we should show a helpful error pages that displays all the connected routes.
* The error messages for missing route classes could be improved as well.