HPCC-11637 Avoid multiple concourrent ECLWatch onActivity queries

Add a critical section block to allow only one thread to build
onActivity response; move the code of setting Activity response
into one function which is called after all of the response
information are collected; store the information (and information
collect time) into one WsSMC data member; reuse the information
if another Activity request comes through shortly after a recent
request.

Signed-off-by: wangkx <kevin.wang@lexisnexis.com>
I am hoping that there are no complications with the user access rights affecting what is returned from this function.  If there are then this will more thought - probably splitting into two.