Routing: Introducing unittests for core app router classes

This PR introduces a large chunk of unittests to document the behavior of the core application routing classes.

This was made possible through the generous donation of the people mentioned in the following link via an Indiegogo campaign: http://joomlager.de/crowdfunding/5-contributors
See the `@expectedException` in the doc block.  Personally, I'd split this method into 2 methods; one testing the stuff above and one to test for the exception.