HPCC-11734 Fix efficiency issues with CQuerySetQueriesPager

1) Revise the CQuerySetQueriesPager::getElements() and the
getQueryRegistryRoot() to avoid multiple SDS connections to
/QuerySets. 2) Revise the getQueryRegistry(): a. lock the
/QuerySets only if a new queryset has to be added; b. Before
a new queryset is added, lock the /QuerySets and re-check
the queryset in case it has been added by another thread. 3)
Revise the getPackageSetRegistry(): implement the same logic
as 2). At this time, not many things can be done for server-
side matching because the parent properties of a query node
are not reachable (no 'up' axis support). For example, the
parent property Alias is used to set query's property
@activated.

Signed-off-by: wangkx <kevin.wang@lexisnexis.com>
Merge pull request #6315 from wangkx/revise_workunit_query_registry

HPCC-11734 Fix efficiency issues with CQuerySetQueriesPager

Reviewed-By: Jake Smith <jake.smith@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>