use agentOptions to create agent when specified in request

Hi,

This changeset includes the changes we discussed in https://github.com/mikeal/request/issues/566 regarding agentOptions, now with some basic tests.

Thanks
Sam