Add options for failover reconnect timeout

Adds the :failover_reconnect_timeout and :failover_reconnect_wait
options. If configured, the client will block for up to the timeout
time. This prevents the Redis::CannotConnectError from raising into the
main application for a finite amount of time.

This includes the commit from pull request #3.