Prepare Lily\Test\Application\RoutedApplication to be extend to test subclasses of RoutedApplication
Move logic from RoutedApplication into abstract RoutableApplication so that we can derive alternate routed application implementations
Update RoutedApplication to require config hash

This is an API breaking change.
Add some additional parameter tests
Update MiddlewareApplication to take a hash config

This is an API breaking change.
Remove abstraction of RoutedApplication
Introduce Lily\Application\WebApplication
Add protected ::application() method for mounting sub applications in ::routes()
Update example MainApplication to use WebApplication
Update example app to use WebApplication
New release v0.5.0 with breaking changes:

 - Application class `::construct()`'s must now take a hash argument