HPCC-12409 Pathological distribute slowdown fix

Prevent sender queing partial buckets if writers already actively
working on buckets to same target.
Also allow multiple write handler threads to work on the same
target, this allows the serialization/compression (and potentially
dedupping) to occur in parallel even if to same writer.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-12409 Collect object arrays in to unified target object

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-12409 Some changes following code review

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-12409 A little more refactoring

Move a bit more into CTarget
Spotted a couple of pontentially thread-unsafe uses of counters/
flags.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-12409 set target to NULL for clarity

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-12411 Allow compressor used in DISTRIBUTE to be configurable

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>