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
No, we can not. The previous test tries to see if a menu item was found and if none was found, use the default menu item. The second test looks if there even is a default menu item and if there is none, it fails gracefully. otherwise you are spammed with a couple notices.