Don't override connection header if Upgrading

As a patch to #488, do not override the connection header to 'close' if we are upgrading. Always overriding to 'close' prevents upgrades on agent-less sockets, as the proxy destination will never receive the upgrade request. With this change, we leave 'upgrade' requests alone, and let them do their thing.

This also addresses #638.