Fixes behavior on hangups and aborts

The existing behavior on hangups and aborts disregarded the parameters
passed in via options, and failed at a number smaller than maxRetries.
This is counter intuitive, undocumented, and not modifiable from the
external API.

This pull request defaults maxHangups and maxAborts to maxRetries and
changes the underlying code to actually use those values rather than
hard coded values.

This caused issues for us when one node was responding very slowly. It was timing out, and
because of the way that poolee picks nodes, it was sometimes getting selected again. The failure
would then get through to the client.