Use a better message for impossible requests.
Fix two problems with the window size.

Each peer has a window size. The peer's window size controls how much
data we can send the peer, and our window size controls how much data
the peer can send us. We had these reversed in SpdyStream, so if the
peer specified a non-default window size we wouldn't send the required
WINDOW_UPDATE events when we needed to.

The connection has its own window size. But unlike the stream window
sizes, this needs to be manually adjusted with a windowUpdate frame
when the connection is opened.

Closes https://github.com/square/okhttp/issues/933
Merge pull request #940 from square/jwilson_0617_gateway_timeout_message

Use a better message for impossible requests.
Pass causing exception through on malformed URL.
Merge pull request #941 from square/jw/caused-by

Pass causing exception through on malformed URL.
Lazily convert String-based Request urls into URLs.
Merge pull request #939 from square/jwilson_0617_window_size_bugs

Fix two problems with the window size.
Merge pull request #946 from square/jw/lazy-url

Lazily convert String-based Request urls into URLs.
Initial web socket API.
Implement message reader.

Currently the reader skips control frames.
Implement message writer.