Socket Pools Refactor 22: Let HttpProxyClientSocket take a StreamSocket.

Previously, an HttpProxyClientSocket could only be created with a
ClientSocketHandle, but this CL adds a new constructor that lets it be
created with a StreamSocket, which doesn't require a SocketPool.

The new constructor is not yet in use. We can switch which constructor
is used, and remove the old constructor in followup CLs.

This is part of an effort to flatten the socket pools.
https://docs.google.com/document/d/1g0EA4iDqaDhNXA_mq-YK3SlSX-xRkoKvZetAQqdRrxM/edit

TBR=mfoltz@chromium.org, reillyg@chromium.org

Bug: 472729
Change-Id: I9ff442042142787280421b2afbccf1609f27d048
Reviewed-on: https://chromium-review.googlesource.com/c/1450865
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Reviewed-by: Asanka Herath <asanka@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#630222}
17 files changed