getMtu issue
Merge pull request #376 from lingmingyb/mtu

getMtu issue
Define async APIs and switch Job to use HttpEngine directly.

Using HttpEngine directly introduces some duplicated code with
HttpURLConnection. It also breaks the response cache. I think
this is the best route going forward; and eventually we could
invert this relationship to have HttpURLConnection depending on
Job directly rather than vice versa.
Merge pull request #377 from square/jwilson/async_apis

Define async APIs and switch Job to use HttpEngine directly.
Introduce Handshake as a value object.

I needed a non-terrible way to provide the HTTPS handshake
information to the async API. Previously we were passing the
live socket around, which was leaky and gross.

This creates a new value object that captures the relevant
bits of the handshake. We can use it in the response, the
connection, and also in the cache. It's plausible that in
the future we can use it to allow the application to block
requests if the handshake is insufficient.
Merge pull request #378 from square/jwilson/handshake

Introduce Handshake as a value object.