Don't try to blindly reconnect on connections failures

On a replica set, when the master changes, the old master disconnects
all clients. This mean we have to trigger a cluster refresh on every
disconnect and don't try not to blindly reconnect.

In order to do that we propagate exceptions from `Node#ensure_connected`
and `Connection#with_connection`.

Before that, a non-safe session never caught up with a failover and all
subsequent inserts were silently lost.