better synchronization in cluster.UpdateNodes

As we can't lock during the whole `connect` first add the node to a "connecting" list and then move it the the actual list of nodes when it's connected.