Some considerable changes to the router. Still too hesitant to change Router::add and attempt to implement named routes and route grouping. This commit is completely untested.