Add an HttpProxyClientSocketWrapper class, to store auth information
across reconnects when establishing a tunnel connection.
HttpProxyClientSocket used to call connect again on its original
socket on disconnection, but that crashes when using SSL.  An attempt
to fix that problem by creating new HttpProxyClientSockets led to
losing auth challenge information.

Since HttpProxyClientSocketWrapper has to be able to establish
connections without going back into the proxy pool in order not to
lose auth information while re-establishing a tunnel connection,
the logic from HttpProxyConnectJob has been moved to the new class.

Longer term, we probably want to beef up the HttpAuthCache to record
most information about past challenges, so creating new
HttpProxyClientSockets will work, and we can get rid of this new class.

BUG=527344,509066

Review URL: https://codereview.chromium.org/1364853002

Cr-Commit-Position: refs/heads/master@{#352910}
diff --git a/net/net.gypi b/net/net.gypi
index 1c2ec2d..0340efa 100644
--- a/net/net.gypi
+++ b/net/net.gypi
@@ -845,6 +845,8 @@
       'http/http_proxy_client_socket.h',
       'http/http_proxy_client_socket_pool.cc',
       'http/http_proxy_client_socket_pool.h',
+      'http/http_proxy_client_socket_wrapper.cc',
+      'http/http_proxy_client_socket_wrapper.h',
       'http/http_request_info.cc',
       'http/http_request_info.h',
       'http/http_response_body_drainer.cc',