Cleanup code in router and add forwarding for get requests

This continues work with the experimental router node to have 'better' asynchronous processing. The purpose of the node currently is to understand rules and route requests to different tiers.