Test copyWithDefaults.

Also change initialization of the default SSL factory to be a global
constant rather than a per-client constant. Otherwise two clones of
the same client won't share an SSLSocketFactory.
Use Okio for timeouts in SPDY.

This depends on new AsyncTimeout API in Okio being released.
Merge pull request #783 from square/jwilson_0427_okio_timeouts_spdy

Use Okio for timeouts in SPDY.
Merge pull request #793 from square/jwilson_0503_copywithdefaults

Test copyWithDefaults.
Hide route database.
Merge pull request #794 from square/jwilson_0503_routedb

Hide route database.
Don't honor the default java.net.ResponseCache.

Applications using ResponseCache.setDefault() will need to use OkHttp's
cache interface instead.

We no longer support any user-defined caches.
Merge pull request #798 from square/jwilson_0504_no_default_cache

Don't honor the default java.net.ResponseCache.
Update to Hpack Draft 07.
Added support for http/2 draft 12, which is incompatible with previous priority schemes.
Merge pull request #792 from square/adrian.http2-draft12

Update to http/2 draft 12
fix #789: Reorder test to ensure call is canceled before its body is returned.
Merge pull request #802 from square/adrian.force-cancel-order

Reorder test to ensure call is canceled before its body is returned
fix #768: Ensure Push Promise callbacks are processed in order.
Merge pull request #801 from square/adrian.pushcallback-order

Ensure Push Promise callbacks are processed in order.
Track redirectedBy in HttpEngine.

Tracking it in Call meant we would need to duplicate code
in HttpURLConnection if we wanted the same behavior.
Merge pull request #804 from square/jwilson_0505_redirected_in_auth

Track redirectedBy in HttpEngine.
fix #800: NPE on proxySelector.select
Add more context to SpdyConnectionTest.receiveGoAwayHttp2 so that next flake is easier to identify.
Merge pull request #807 from square/adrian.flakey-tests

Fix NPE on proxySelector.select