Flatten Android platforms.

In preparation for addition of ALPN, which would add a
third class, where inheritance starts to break.
Merge pull request #439 from square/jwilson_0112_flatten_android

Flatten Android platforms.
Support ALPN on Android 4.4+.

ALPN is the successor to NPN. When it's widely deployed we
can drop support for NPN altogether.

Verified manually on my Android device against https://gmail.com
(which uses ALPN) and https://twitter.com (which uses NPN only).

https://github.com/square/okhttp/issues/128
Merge pull request #440 from square/jwilson_0112_alpn

Support ALPN on Android 4.4+.
Recover from connectivity problems in the async API.

This promotes HTTP engine failure recovery from HttpURLConnectionImpl
to HttpEngine. That has the nice side-effect of getting to hide some
more implementation details in HTTP engine.
Merge pull request #443 from square/jwilson_0113_job_recover

Recover from connectivity problems in the async API.
Ship a fat jar for MockWebServer.
Merge pull request #445 from square/jw/fat-jar

Ship a fat jar for MockWebServer.
Drop explicit and now duplicate Java 6 enforcement.

The root pom now enforces Java 6 across the entire project so there is no need to explicitly enable it for MockWebServer.
Merge pull request #446 from square/jw/everything-is-java6-now

Drop explicit and now duplicate Java 6 enforcement.
consolidate protocol constants