HPCC-8869 Moves the existing onActivity code into three methods

This is the first step of Refactoring Eclwatch activity code. To make
the refactoring easier to review, I move (no change for process logic)
the existing code for super users (displaying Banner and/or Chat) into
two new methods: readBannerAndChatRequest() and setBannerAndChatData().
For backward compatible, I also move the existing code for retrieving
information about servers and WUs into a new memthod: getServersAndWUs().

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
HPCC-8869 Refactor Eclwatch activity code

Five new methods are added to read/set workunits on clusters and
servers. 2 Minor changes: a. collect and display better information
about clusters and workunits; b. collect and display WUs on the
servers (ECL Server and ECL Agent) which do not belong to any
target cluster.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
HPCC-8869 Revise based on review comments

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
HPCC-9598 Generate <dataset>.row as a PROJECT instead of a 1 row NORMALIZE

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Merge pull request #4579 from ghalliday/issue9598

HPCC-9598 Generate <dataset>.row as a PROJECT instead of a 1 row NORMALIZE

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4477 from wangkx/h8869b

HPCC-8869 Refactor ECLWatch activity code

Reviewed-By: Anthony Fishbeck <anthony.fishbeck@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>