Flexible connections for sentinel support

This supports [redis-sentinel-client](https://github.com/DocuSignDev/node-redis-sentinel-client). The changes are mostly cherry-picked from [tanguylebarzic's fork](https://github.com/tanguylebarzic/node_redis) and [our/DocuSignDev's fork](https://github.com/DocuSignDev/node_redis).

There is a discussion about how to support sentinels here: https://github.com/mranney/node_redis/issues/302
The idea of supporting pluggable connection managers is mentioned there, and may be more robust. I'm submitting this PR so the changes needed for my sentinel implementation are documented.

Thank you.