HPCC-11637 Avoid multiple concourrent ECLWatch onActivity queries

Use getActivityInfo() to collect activity info into a cache. Reuse
cached info to set concurrent onActivity queries. The cache time
is configurable (default to 10 seconds).

The code merged from 5.0: Upgrade code to display HPCC server even
if there is no workunit on the server. A user may pause or resume
the server. Collect network address and port info for identifying
ECLCCServer, etc.

Signed-off-by: wangkx <kevin.wang@lexisnexis.com>
more out of curiosity.  Would it cause problems if the version check was removed here (and in the code above)?