HPCC-12128 - MP connections take too long

Resolve mp connection deadlock when A->B and B->A with lower random number

Signed-off-by: Mark Kelly <mark.kelly@lexisnexis.com>
jakesmith added a note on 23 Sep
> As connect() (and closeSocket()) is always called inside connectcrit,
> the only exception where is attachSocket where ismaster=false, i.e. call from CMPConnectThread::run.
> 
> Do you need an extra crit, could you ensure that both calls to attachSocket were in connectcrit?

mckellyln added a note 27 days ago
> I wanted a fence for the attachep and attachrand. Perhaps I could remove the CS and add a fence but its a one-time or rare event.

Still not convinced that this attachsect critical block is necessary (but I might have missed something).
It looks like whenever it enters attachsect (here, attachSocket and closeSocket), it must already by thread protected by  virtue of being in connectsect..
Is there a case that isn't?