HPCC-8686 - Allow global join merge stream to spill

Global join used to merge partitioned side to disk, change to
merge to memory and conditional spill on demand.
Also refactor global join code to remove duplicated code shared
between rightPartition/leftPartition implementations.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-8686 - minor change following review
HPCC-8686 - Add left/right partition test

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
Merge pull request #5501 from jakesmith/hpcc-8686

HPCC-8686 - Allow global join merge stream to spill

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>