Fix channel pooling

Hi,

Channels were not being reused, and a missing reference to the options in channelPool meant the freeExcessTimeout would always be essentially nextTick due to undefined.

Also allowed options to be passed to the pool via channelFactory.

Thanks