CASC-232: x-forwarded-host not properly handled when generating service url

Fix for https://issues.jasig.org/browse/CASC-232

Fixes building of service url when X-Forwarded-* headers are present indicating that the request was proxied.  In this case, the service url should be generated for the original request, not the proxied request.
I would recommend we simply create a new URI(serverName) and extract the components (scheme, hostname, port) from the fields on the URI.