add new route object to allow child routes

The Route object handles routing of a message. Destinations for messages
can be subrefs as before or other Route objects, allowing for child
routes.