GzipSource beginnings.
Merge pull request #510 from square/jwilson_0203_gzip_beginnings

GzipSource beginnings.
Rename byteAt to getByte.

Should we later support random access for other primitives
or random bulk access, I'd like the prefix to stay constant
(getByte, getInt, getLong, getBytes) vs. the suffix (byteAt,
intAt, longAt). Prefixing may work better for autocomplete
in IDEs, particularly since we already use a prefix for our
consuming reads (readByte, readInt, readLong).
Fix some OkBuffer bugs.

GzipSource exceptions used six hex digits instead of
8 to print ints.

readUtf8 always did an extra copy of the bytes being
read.

Moving bytes between buffers crashed when the destination
was empty and the source was a prefix.

InputStream reading returned values in -128..127 instead
of in 0..255.
Merge pull request #516 from square/jwilson_0208_byte_at_to_get_byte

Rename byteAt to getByte.
Merge pull request #517 from square/jwilson_0208_buffer_fixes

Fix some OkBuffer bugs.
Initial implementation of an OkHttp-backed curl clone.
Merge pull request #514 from square/jw/okcurl

Initial implementation of an OkHttp-backed curl clone.
fix #184: OkHttp no longer uses default ssl context.
Merge pull request #518 from square/adrian.okclient-provided-sslcontext

OkHttp no longer uses default ssl context.
Add -X to okcurl, permitting HEAD requests.
Merge pull request #522 from square/adrian.curl-X

Add -X to okcurl, permitting HEAD requests
Use OkBuffer in spdy/3 source stream.

This isn't quite as simple as I had hoped. We still lack something
like DataInputStream/BufferedInputStream that combines a buffer with
a Source. That means there's a bunch of methods that must manually
refill the buffer before acting upon it.

I'm going to continue to migrate code, and will follow up with
changes to simplify this interaction.
Merge pull request #519 from square/jwilson_0209_okbuffer_in_spdy3_source

Use OkBuffer in spdy/3 source stream.
Use OkBuffer in http/2 source stream
Merge pull request #523 from square/jwilson_0211_okbuffer_in_http2_source

Use OkBuffer in http/2 source stream
BufferedSource.

The Source API is nice for source implementors: no annoying
skip method, no annoying available() method, just one API to
supply bytes to the caller.

But it isn't as nice of an API for source callers. It lacks
convenient APIs!

This bridges the gap. Calling code should use BufferedSource,
and implementing code should implement Source.
Merge pull request #524 from square/jwilson_0211_buffered_source

BufferedSource.
Use OkBuffer in SpdyStream.
Merge pull request #526 from square/jwilson_0212_okbuffer_in_spdystream

Use OkBuffer in SpdyStream.