HPACK: Write headers using indexed names where possible.
Merge pull request #495 from adriancole/hpack-write-literal-name-no-indexing

HPACK: Write headers using indexed names where possible.
Adapters that go the other way, to java.io.

These ones are slightly more awkward because they need to do
their own internal buffering.
Merge pull request #496 from square/jwilson_0130_adapters

Adapters that go the other way, to java.io.
Quick and dirty benchmark.

Sample output:

OkHttp [gzip, chunked, HTTP_11]
bodyByteCount=1048576 headerCount=20 threadCount=10
Requests per second: 121.0
Requests per second: 304.6
Requests per second: 379.1
Requests per second: 386.9
Requests per second: 369.2
Requests per second: 390.8
Requests per second: 368.8
Requests per second: 325.2
Requests per second: 409.4
Requests per second: 389.1
Merge pull request #499 from square/benchmarks

Quick and dirty benchmark.
New benchmark targets for Apache HTTP Client and URLConnection.

OkHttp [HTTP_11]
bodyByteCount=1048576 headerCount=20 threadCount=10
Requests per second: 690.9

UrlConnection [HTTP_11]
bodyByteCount=1048576 headerCount=20 threadCount=10
Requests per second: 671.3

ApacheHttpClient [HTTP_11]
bodyByteCount=1048576 headerCount=20 threadCount=10
Requests per second: 317.4
Merge pull request #500 from square/jwilson_0130_mo_benchmarks

New benchmark targets for Apache HTTP Client and URLConnection.
New benchmark target for Netty.

This required some reworking to the harness since Netty doesn't
want to be used with an ExecutorService.

NettyHttpClient [HTTP_11]
bodyByteCount=1048576 headerCount=20 concurrencyLevel=10
Requests per second: 597.1

OkHttp [HTTP_11]
bodyByteCount=1048576 headerCount=20 concurrencyLevel=10
Requests per second: 705.2
Merge pull request #501 from square/jwilson_0201_netty

New benchmark target for Netty.
Add MockWebServer.setNpnProtocols
Add instructions to execute the benchmark with correct JVM parameters.
Use the pooled allocator for performance reasons
Merge pull request #502 from adriancole/mws-npn

Tell MockWebServer which NPN protocols to use.
Use Caliper for benchmarking.
Flush control frames; don't flush user frames.
Merge pull request #504 from square/jwilson_0201_caliper

Use Caliper for benchmarking.
Merge pull request #505 from adriancole/flush-control-frames-dont-flush-user-frames

Flush control frames; don't flush user frames.
Merge pull request #503 from normanmaurer/pooled

Use the pooled allocator for performance reasons
InflaterSource. Like InflaterInputStream.