2.0.0 fix retries operations

Fix retry operations when the cluster is recofigured or when the connection is reset even when authentication is on
I just deployed this to our staging environment and this part always raises `Errors::OperationTimeout.new("Took more than #{op_timeout} seconds to receive data.")` when you use an SSL connection. 

It has to do with IO.select and the way Ruby's SSL implementation buffers the values (https://bugs.ruby-lang.org/issues/8875)