setPending needs to account for the new filtered counter

when the filtered counter was added I failed to account for it
in setPending and resetCounters. This caused the pending count to
not be calculated correctly, it was exactly filtered count too large.

In the future it may be better to use a single counter for pending
that is incremented on 'request' and decremeted on 'complete'
increment version for bug fix
added a test verifying this.requests is cleaned up on timeout
switch to keep-alive-agent
added 'options.reused' parameter to the 'timing' event
Ensure the response and socket exist before setting options.reused on the timing event. Fixes #10
added agentOptions to Pool constructor for passing options to the underlying Agent
increment version to 0.4.7 for agentOptions
changed the get_node strategy when keep-alive is enabled
bump version for keep-alive node selection
Merge remote-tracking branch 'danny/master'