[wpr-go] Use nil req.Body as appropriate for outgoing requests in http.Transport.RoundTrip()
[wpr-go] Use nil req.Body as appropriate for outgoing requests in http.Transport.RoundTrip()

When a subresource fails with 403, RoundTrip() might reuse the already
dead connection, resulting in 403 for subsequent subresource fetches.
This CL sets req.Body to nil if Content-Length is 0. This is to enable
http.Transport to retry on idempotent requests if dead connections
were reused. This mirrors the change in
https://golang.org/src/net/http/httputil/reverseproxy.go.

BUG=catapult:#3706

Review-Url: https://codereview.chromium.org/2975083002

catapult-project/catapult,catapult-project/catapult,catapult-project/catapult-csm,catapult-project/catapult,catapult-project/catapult,catapult-project/catapult-csm,catapult-project/catapult-csm,benschmaus/catapult,benschmaus/catapult,benschmaus/catapult,catapult-project/catapult-csm,benschmaus/catapult,benschmaus/catapult,catapult-project/catapult-csm,catapult-project/catapult-csm,catapult-project/catapult,catapult-project/catapult,catapult-project/catapult-csm,catapult-project/catapult,benschmaus/catapult,benschmaus/catapult