HPCC-11734 Fix efficiency issues with CQuerySetQueriesPager

1) In CQuerySetQueriesPager::getElements(), change the unlocked
connection to /QuerySets to read lock connection. 2) Revise the
getElements() to avoid re-connect to /QuerySets. 3) Revise the
getQueryRegistry() to not double lock the /QuerySets. 4) Revise
getQueryRegistryRoot() to not lock to /QuerySets twice. 5) Only
lock the /QuerySets/QuerySet if a QuerySet ID is specified. 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>
Not new, but better to use setProp*'s on attributes than add's, because attributes must be unique unlike node names, and cannot be re-added. addProp with an attribute is equivalent to setProp, but setProp is clearer.