Preserve encoded values in proxied URLs.

When proxying requests to URLs that contain encoded URLs, the requests contained
URL is decoded because Go stores a URL's Path field in decoded form. As a result,
any encoded values in a URL are lost.

Fixes #65
Can you move this assert to the outer function? You can use uri as a variable declared in the outer scope and verify it after executing the request. That would make test assertion more explicit.