Minor optimizations and added ability for negotiators to persist their state.
Moved around some code and continued implementation of the switcher interface
Minor refactor to inject Request instead of RouteMatch to support the implementation of session negotiation.