Request URIs should be transparently proxied

Previously we were decoding the incoming URI to a net.URI object and then
encoding it back to a URI object to make the outgoing request. On the way
through this process, due to the way golang handles encoding and
decoding, the URLs sometimes silently changed. For example certain
characters such as ! would get percent-encoded before making it to the
backend. Other characters such as $ were sent to the backend pct-encoded
(i.e. as %24) whether or not the original request sent them encoded or
un-encoded.

This commit uses req.RequestURI instead so that we use the exact
incoming URI in the outgoing request.

[#77014252]

Signed-off-by: Michael Fraenkel <fraenkel@us.ibm.com>