When invalid sizes are used to initialize the ArrayList, don't crash with an uncaught exception
Continue to read old bad cache responses.
Merge pull request #302 from square/jwilson/old_bad_cache_responses

Continue to read old bad cache responses.
safer check for invalid values, without catching OOM
Merge branch 'master' of https://github.com/square/okhttp into disk-garbage
Merge pull request #301 from levelup/disk-garbage

When invalid sizes are used to initialize the ArrayList
Use one callback for SYN_STREAM, SYN_REPLY and HEADERS.

This is closer to the semantics of HTTP/2.0, which uses the HEADERS
frame for all three types. SPDY is a bit more strict because it
relies on redundancy; it's an error to send a SYN_REPLY after a
HEADERS frame. With HTTP/2.0, there's only one type so there's
no error to detect.
Upstream changes made directly to AOSP.

This change is a combination of 4 separate commits
to fix various bugs observed during android platform
testing.

https://android-review.googlesource.com/#/c/63781/
--------------------------------------------
Allow certificate inspections after connect.

We don't have to wait for the request to be sent
before allowing inspection of SSL certs. They can be
inspected as soon as the connection is established.

Fixes CTS test UrlConnectionTest#testInspectSslAfterConnect

https://android-review.googlesource.com/#/c/63821/
---------------------------------------------
Respect read timeout on recycled connections.

Partial fix for CTS test : URLConnectionTest#testGetKeepAlive.

https://android-review.googlesource.com/#/c/63782/
-----------------------------------
Fix HttpUrlConnection#isUsingProxy.

The earlier implementation disregarded what the
ProxySelector had to say. We now query the selected
route (if one has been established).

Fixes compatibility test:
HttpURLConnectionTest#testUsingProxySelector

https://android-review.googlesource.com/#/c/63872/
--------------------------------------------
Don't support anything other than Basic auth.

We should disregard authentication schemes other than
"Basic" and let clients handle them themselves.

The java Authenticator API gives us a user name and
password combination, but we can't know how to format
that information for any scheme other than basic.

Historically:

The JB implementation responds to challenges from an
arbitrary scheme "X" by sending a header with scheme
"X" but formatted like the "Basic" scheme.

The current implementation responds to challenges from
an arbitrary scheme "X" by sending a header with scheme
"Basic" and formatter like the "Basic scheme".

Partial fix for test cases in URLConnectionTest:
- testAuthenticateWithCommaSeparatedAuthenticationMethods
- testAuthenticateWithMultipleAuthenticationHeaders
issue-265 Multiple HTTP Cookie: headers
Merge pull request #307 from narayank/master

Upstream changes made directly to AOSP.
Merge pull request #306 from square/jwilson/headers_frames

Use one callback for SYN_STREAM, SYN_REPLY and HEADERS.
Write some HTTP/2.0 frames
Merge pull request #309 from square/jwilson/write_http2_frames

Write some HTTP/2.0 frames
Changes by suggensions on /square/okhttp/pull/308:
1. fixed identations
2. fixed space char
3. memory allocation optimization
Merge pull request #308 from romkavt/romkavt/issue-265

issue-265 Multiple HTTP Cookie: headers
Fix checkstyle issues in new Cookie code.
Merge pull request #312 from square/jwilson/cookiestyle

Fix checkstyle issues in new Cookie code.
Static HTTPS/SPDY3/HTTP2 server example
Merge pull request #314 from square/jwilson/__sample_server

Static HTTPS/SPDY3/HTTP2 server example
Bug fixed that caused gzipped responses to be returned from cache after cache validation (#298).