Support SOCKS proxies.

The trickiest part of this change is the SOCKS 5 proxy implemented
to make testing possible. Fortunately the protocol is very easy, and
shows off Okio.

Closes https://github.com/square/okhttp/issues/1009
This _might_ be fragile in IPv6 situations. If it is, there's work to do here.