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

after redis server stops, the sockets which are used by RedisClient in
the transaction are not set to null. when the redis server is back on,
socket exceptions will be thrown. move the try /catch logic into
FlushSendBuffer instead.
Merge pull request #195 from icyice80/v3

socket is not set to null during transaction, after redis server stops, ...