Route config supports alias and middleware

Route definitions are now defined via a standard interface that allows
for a middleware hierarchy as well as route aliases.
Service locator config in its own file

The dependency graph for the service locator is now located in its own
file, separate from the static config. The dependency graph will not
change based on the environment of the deployment, whereas the static
config could be swapped out entirely at deploy time.