HPCC-8435 Implement JSON Pull Parser and PTree creation

Parsing and creating PTrees from JSON is needed for several
upcoming JSON integration items.  This implements a PullReader
and a BufferReader, as well as createPTreeFromJSON Functions.

This implementation emulates the style and practice of the current
XML parsers.  It also sticks to the existing parser interfaces
completely future enhancements could be made that would improve those
interfaces to benefit more from JSON data type knowledge.  Especially
to improve symmetry between building a PTree and serializing back
to JSON.

While the parsers support full JSON naming syntax, JSON supports
object names that cannot currently be supported as property trees.
Creating a property tree from such JSON will throw a PTree exception.

The general philosophy for the pull parser has been that each call to
IPulXMLReader::next() will result in one event (or error).  Further
action after an event is minimized.  The event handler should be able
to abort immediately without further events or syntax based errors.

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
HPCC-8435 Common up JSON and XML Pull Parser code

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
HPCC-8435 PTree Reader interface names should not reference XML

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
HPCC-8924 Prevent simple recursive computerTypes causing stack faults

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-8828 Add new metrics to Roxie

Various minor bug fixes and performance enhancements in Roxie metrics
reporting.

Add some global metrics to supplement the ones taht are reported per query or
per query class.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8910 Rename EclWatch Copy URL menu to View URL

The EclWatch Copy URL icon was used to copy current EclWatch URL to
clipboard. Since most of browsers does not allow JavaScript to
access clipboard data for security and privacy reasons, the icon is
used to display the URL to a new window and a user may copy the URL
from that window. This fix changes the popup text of the icon from
'Copy URL' to 'View URL'. This fix also changes the window size
from 400 x 50 to 800 x 500 for a better display.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
HPCC-8927 Lazy open should default to smart mode

Especially now that the lazy opening of indexes takes account of the lazyOpen
flag, it seems more sensible to default to 'smart' behaviour rather than off.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8897 Pass cacheHint to use paged cache when querying workunits

Workunit/Dali implements a paged caching mechanism for sorted workunits
and dfu workunit results. To use the caching mechanism, this fix passes
cacheHint as a parameter of getWorkunitSorted() when paging through
workunits/dfu workunits.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
EPE-17 Update EPE Docs for Beta

Signed-off-by: JamesDeFabia <James.Defabia@LexisNexis.com>
HPCC-8435 Clean up hierarchy of PTreeReader init and reset methods

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
Merge pull request #4063 from ghalliday/issue8924

HPCC-8924 Prevent simple recursive computerTypes causing stack faults

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4075 from JamesDeFabia/UpdateEclipseBetaDocsEPE017

EPE-17 Update EPE Docs for Beta

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4070 from richardkchapman/roxie-lazy-smart

HPCC-8927 Lazy open should default to smart mode

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
Merge pull request #4065 from wangkx/h8910

HPCC-8910 Rename EclWatch Copy URL menu to View URL

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8828 Add new metrics to Roxie

Some changes in response to code review. Use accessor functions rather than
global variables.

Also looked a little closer at which metrics it is sensible to reset.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4064 from richardkchapman/roxie-stats

HPCC-8828 Add new metrics to Roxie

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
EPE-17 Update EPE Docs for Beta

Signed-off-by: JamesDeFabia <James.Defabia@LexisNexis.com>
Merge pull request #4069 from wangkx/h8897

HPCC-8897 Pass cacheHint to use paged cache when querying workunits

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Jake Smith <jake.smith@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Community Edition 3.10.4-1 Gold

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge remote-tracking branch 'origin/candidate-3.10.4' into candidate-3.10.x

Conflicts:
	version.cmake

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>