Implementation for reconnections

A first attempt at reconnection logic. Basically we just re-enter the unconnected state if there is a reconnection policy and attempt connection.

Unfortunately, I do not have tests for this since it requires restarting Redis.