New router functionality that works in parallel with legacy routing.

This lays the foundation for the new routing.

It works with the old routing in parallel in such a way that the legacy router checks for any old plugins and if they are not found then the new router will be used.

Comments upon this approach is appreciated.