Allow users to specify a custom HttpURLConnection.

As discussed in issue #11, this allows the use of libraries like OkHttp to work around various native Android HTTP bugs.

I don't know if these changes were exactly what you were thinking of, but this works well for me (with a patched version of OkHttp which properly handles HTTP 307 redirects).

I tested it with no `ConnectionHandler`, a handler which always returns `null` and a handler which uses OkHttp. Everything worked as expected.