headers added to HTTP CONNECT requests
Pass whitelisted headers to tunneling proxy.  Organize all tunneling logic.

Fix #1019
Incorporates #1028
tests: Pass squid tunneling test

Still requires 'brew install squid' or whatever, of course.
Document tunnel and proxyHeaderWhiteList options
proxy: Never send proxy-auth to the endpoint server

Also, remove some headers from the default proxy header whitelist that
are response headers rather than request headers, and remove
proxy-connection, which is just a stupid mistake in the first place that
should never be used.

Add test to ensure that explicitly set proxy-auth header never makes it
to the endpoint server, but is still used when using a non-tunneling
proxy, since it is an essential way to send authorizations other than
basic.
readme: clarify that proxy-authorization is NEVER sent to the endpoint
Hang copy of defaultProxyHeaderWhiteList on the Request class
Merge pull request #1050 from isaacs/proxy-headers

Pass whitelisted headers to tunneling proxy.  Organize all tunneling logic.