Process synchronous requests in the same RequestQueue.

Use a dedicated Connection to process a synchronous request using the main
RequestQueue and on the WebCore thread.

HttpConnection, HttpsConnection, Connection:
    No need for ConnectionManager, just pass the proxy host to
    HttpsConnection. In Connection.clearPipe, empty should be set to true if the
    RequestFeeder does _not_ have a request for the host. I don't think that
    broke anything but it is incorrect.
ConnectionThread:
    Refactor the proxy selection into ConnectionManager.getConnection
RequestHandle:
    Add a new constructor that takes a Connection argument. Add processRequest
    to process a single request on that Connection.
RequestQueue:
    Add determine host to select between the request's host and the proxy. Add
    queueSynchronousRequest to make a new request that operates on a private
    connection. Add SyncFeeder to handle RequestFeeder.requeueRequest if the
    request fails.
Network: Use the new RequestQueue api to handle a synchronous request.

Bug: 1315832
7 files changed