Initial web socket API.
Implement message reader.

Currently the reader skips control frames.
Implement message writer.
Hook up the web socket reader and writer together.

Add a simple real-world recipe which talks to an echo server.
Use empty string for absense close reason.
Use a singleton list which is slightly more efficient.
Allow 'http' and 'https' URLs for convenience.
Migrate types to 'internal' package.

This will allow us to bake the implementation and API on master with normal development of the library.
Upstream commit of Android SNI / NPN fix

https://android-review.googlesource.com/#/c/111211

The change's to Android's Platform have been ported.

This does not include the introduction of PlatformTest,
which will be difficult to write so it works everywhere.
fix the delayed transfer for HTTP requests

Signed-off-by: Ralph Bergmann <ralph@the4thfloor.eu>
Request body buffering is not transport-specific.

Previously we were only buffering the request body when the transport
was HTTP. But we should buffer it for both SPDY and HTTP transports.

Closes https://github.com/square/okhttp/issues/1132

Also recover gracefully when retrying an empty POST body. This
is a related bug.

Closes https://github.com/square/okhttp/issues/1131
Merge pull request #1143 from square/jwilson_1110_emptysinnk

Request body buffering is not transport-specific.
Expose cipher suites and TLS versions using enums.
Accept other messages when testing canceled requests.
Merge pull request #1145 from square/jwilson_1111_cancel_exceptions

Accept other messages when testing canceled requests.
Merge pull request #1144 from square/jwilson_1111_ciphersuites

Expose cipher suites and TLS versions using enums.
Merge pull request #1140 from the4thfloor/delayedHTTPResponse

fix the delayed transfer for HTTP requests
Changelog for 2.1.0.
Merge pull request #1137 from nfuller/OptionalMethod

Upstream commit of Android SNI / NPN fix
Bump to 2.1.0