SocketParams refactor 3: Add ClientSocketPool::CreateConnectJob.

This new method takes in all the objects needed to create the socket params
for a ConnectJob, and then returns a newly created one by invoking the
ClientSocketPool::SocketParams callbacks (Which does not actually need
all those parameters, as it has a number of them baked in). These parameters
include the GroupID, the ProxyServer, and whether or not the socket is for
use with websockets.

This also required passing in the ProxyServer and websocket information
to TransportClientSocketPool, which didn't previously need that
information.  In a followup CL, I'll make SocketParams no longer a
callback, and have the method do some of what ClientSocketPoolMaager
does.

Bug: 533571
Change-Id: Ie9113ec941f5db3363255bf27a113841d1b30377
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1562613
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: David Benjamin <davidben@chromium.org>
Cr-Commit-Position: refs/heads/master@{#652971}
13 files changed