(PUP-2096) Support alternate http client classes in http_pool

This commit modifies Puppet::Network::HttpPool by adding a
`set_http_client_class` method, which can be used to override
the implementation class that we use as our HTTP client.
(PUP-2096) Update API to use standard ruby idioms
Merge pull request #2485 from cprice404/feature/3.5.x/PE-3076-support-dynamic-http-client-class

(PUP-2096) Support alternate http client classes in http_pool