revproxy: copy header map if necessary
revproxy: copy header map if necessary

Ported from Go's 24d8f3fa.

We were already making a copy of the map before removing
hop-by-hop headers. This commit does the same for proxied
headers mentioned in the "Connection" header.

A test is added to ensure request headers are not modified.

mvdan/tyk,lonelycode/tyk,lonelycode/tyk,mvdan/tyk,mvdan/tyk,mvdan/tyk,mvdan/tyk,mvdan/tyk,mvdan/tyk,mvdan/tyk,lonelycode/tyk