AgaviHttpRedirectRoutingCallback: Add support to modify parts of the request URL

In addition to supply a full URL or route to the redirect routing callback, one can now also change certain URL parts (specifically 'scheme', 'host', 'port', 'user', 'pass', 'path', 'query' and 'fragment') of the current request URL.