Allow clients to specify an HTTP Agent to use.

This allows users to provide the socket keepalive behavior they would like. For instance, one can specify a keepaliveagent in order to preserve connections and save reconnect time. Or one can specify agent: false for streaming endpoints (like the Twitter Streaming API) where the sockets should not be entered into a pool.