Javadoc
Get the next server to connect to, when in "reconfigMode", which means that
you've just updated the server list, and now trying to find some server to connect to.
Once onConnected() is called, reconfigMode is set to false. Similarly, if we tried to connect
to all servers in new config and failed, reconfigMode is set to false.
While in reconfigMode, we should connect to a server in newServers with probability pNew and to servers in
oldServers with probability pOld (which is just 1-pNew). If we tried out all servers in either oldServers
or newServers we continue to try servers from the other set, regardless of pNew or pOld. If we tried all servers
we give up and go back to the normal round robin mode
When called, this should be protected by synchronized(this)