Use a specialized UrlMapRequest to forward requests to mapped apps

This decouples the app from the UrlMap, and does not require the app
to know anything about that it's mapped in an UrlMap. Other components,
like the Routing Component, should then be able to work without modifications.