[WIP] Started refactoring route patcher / makers

This is just a WIP at the moment. It does some refactoring and *will* enable the user to select which "maker" they want to use (i.e. specify to use the "RouteMaker" service instead of "GenericMaker". And the Maker services will have DI tags.

- Patchers and makers are basically the same thing
 - The "default" patcher is the old route patcher class
 - All these things implement a single RouteMakerInterface
 - Will add a "maker" option to the builder unit to specify which maker
   to use
   - Defaults to "default" which will delegate depending on the context.