Add ConnectionFactory abstraction for creating new HTTP connections.

This allows us to plug other `HttpUrlConnection`-compatible implementations
into the helpers.

Also add automatic detection of OkHttp on the classpath and use it when
available.