Reduce lock contention on ip2client's lock.
Reduce lock contention on ip2client's lock.

When a new connection was opened to a RegionServer, the code
was unnecessarily holding the lock on the ip2client map while
configuring and connecting the channel.  I actually observed
contention on this lock because of that, even though connect()
is non-blocking and returns quickly.  The new code is slightly
awkward / less natural to read, but it's worth it.

Change-Id: I4482c49c60f50c9a5d6911a2154119755c4d5a77

nvoron23/asynchbase,hhshuai/asynchbase,pythian/asynchbase,yuzhu712/asynchbase,OpenTSDB/asynchbase,OpenTSDB/asyncbigtable,mapr/asynchbase,Flipboard/asynchbase,StumbleUponArchive/asynchbase,hzy001/asynchbase,manolama/asyncbigtable,manolama/asynchbase,yuzhu712/asynchbase,hhshuai/asynchbase,SteamShon/asynchbase,mapr/asynchbase,mway08/asynchbase,tempbottle/asynchbase,StumbleUponArchive/asynchbase,tsuna/asynchbase,adityakishore/asynchbase,SteamShon/asynchbase,angushe/asynchbase,manolama/asynchbase,angushe/asynchbase,tsuna/asynchbase,OpenTSDB/asynchbase,tempbottle/asynchbase,mway08/asynchbase,nvoron23/asynchbase,hzy001/asynchbase,adityakishore/asynchbase,Flipboard/asynchbase,Connexity/asynchbase,Connexity/asynchbase