Clean up router configuration

This is very work in progress but it shows how I plan to document and split the router configuration into smaller chunks. I have used the session and parser plugs as examples. Feedback so far is welcome.
How are we going to handle runtime dependent config values, like port? I think we talked about handling some of things in `start`?