Adjust hpack impl to be compliant with draft 3 examples, and enable http2 in MWS.
Merge pull request #366 from adriancole/fix-hpack

MockWebServer can now read headers sent by http2 clients
Support PATCH requests in MockWebServer
Merge pull request #368 from nacx/mock-patch

Support PATCH requests in MockWebServer
Buffered Stream wrapper should be taken place before SpdyConnection build.
extract a method
format
Merge pull request #374 from lingmingyb/wrapper

Buffered Stream wrapper should be taken place before SpdyConnection buil...
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.
Use Request and Response types in OkResponseCache.

This breaks support for java.net.ResponseCache implementations. That's
good. That API is akward and can't support important features like
conditional GETs and hit tracking.
Merge pull request #379 from square/jwilson/new_cache_api

Use Request and Response types in OkResponseCache.
Make RawHeaders, RequestHeaders and ResponseHeaders immutable.

This introduces a new, poorly-named class ResponseStrategy
that pulls some code out of ResponseHeaders. That was necessary
because the old method mutated itself and its parameters in
place.

Obvious follow-up for this is to combine ResponseHeaders with
Response, and RequestHeaders with Response.
Merge pull request #380 from square/jwilson_1229_immutable_headers

Make RawHeaders, RequestHeaders and ResponseHeaders immutable.
Combine Request+RequestHeaders and Response+ResponseHeaders.

This cleans up a lot of the unnecessary moving parts in
HttpEngine. That class is still stuck with some complexity
around request and response bodies, but it's getting better.

We're also stuck escalating the visibility of a lot of
members in Request and Response. I've got some ideas on
how to fix this; that'll have to wait for a follow up.
Merge pull request #381 from square/jwilson_1229_requestheaders

Combine Request+RequestHeaders and Response+ResponseHeaders.