Adding Route model and APIs

Multiple routers can bind to the same route  or they can split the routes creating a sharded routing layer - this can be done based on route labels. We could create a more complex model where either:
1. a route contains all the frontend mappings for a given service
2. there is a 1-1 mapping between a route resource and a frontend/alias for a service.

In case of #1, all the alias mappings to the service are in the same place.
In case of #2, the model is simpler and we can have a flat structure where individual attributes can be used to specify DNS, protocol, path, port.