Updated Routing

Controllers are now responsible for routing their actions and
parameters. This allows for customized routing per controller. The
router is now only concerned with determining the current section and
controller, and sending the rest of the parameters to the controller.
Maps are also defined in the router.