Add HTTP Proxy support.

Lots of ideas and code from #13, thanks to @ryber for the starting point!

Still needs a solid test for the changes to `UrlConnectionHttpHandler`, but I figured I'd get this PR going so we can discuss the overall strategy in parallel. The basic idea is that each `KeenClient` instance has a private `proxy` variable and that is passed every time a `Request` object is created. If a `Request` has a proxy set, `UrlConnectionHttpHandler.openConnection` uses it.