socket is not set to null, after redis server stops, then starts.

After redis server stops, the sockets which are used by RedisClient in
the transactions are not set to null. when the redis server is back on,
socket exceptions will be thrown as they use the existing sockets. So I move the try /catch logic into
FlushSendBuffer instead.