Add a workaround to make sure Redis connection is reconnected in ConnectionRestored event

I found an external issue that after Redis restart, sometimes in ConnectionRestored event the Redis connection is not reconnected yet.

This workaround basically make sure the latest value can be restored for Redis Key.
This workaround basically make sure the Rdis connection is reconnected before Open the stream, so it can reduce the chance of the issue #3093 happening which when Send() method runs into an error, the stream will never be opened again until Redis is restarted.

#3095
@davidfowl , do you want to add this logic inside RedisConnection.OnConnectionRestored before calling the handler ConnectionRestored? then we need to store private variable for database and key in RedisConnection class.
Or can we add this logic inside RedisMessageBus.OnConnectionRestored before calling _connection.RestoreLatestValueForKey?