Revert "Avoid encoding ! characters in proxied requests"

This reverts commit 622b3596d5e135fcd3b129fc5bf9ee98fdad3ed7.
Document full current behaviour of proxy URL encoding

We may want to change this behaviour so that URLs are transparently
proxied rather than being messed with /at all/ in the proxy (other than
switching the host). Before considering that, this commit backfills
tests so that the current behaviour is fully specified.

 - when the value is already percent encoded:
   - most values stay encoded
   - some values get decoded before being passed on (+ and /)
     - previously our test for handling encoded urls was ONLY testing
       this edge case, which was quite misleading

 - when the value is not already encoded:
   - unreserved characters aren't encoded
   - special characters are encoded before being passed on
   - some of the set of reserved characters are encoded (!,*,',(,)) (due
     to golang not considering the full set of rfc3986 characters
     reserved)
   - the rest of the set of reserved characters are passed on unmodified

[#76815268]

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