HPCC-10370 Resubmit workunit uses the original user's id

Currently anyone with ws_workunit access can resubmit anyone else's workunits.
This fix verifies that, on a resubmit, the workunit owner is the same as
the resubmitter, and disallows it if not

Signed-off-by: William Whitehead <william.whitehead@lexisnexis.com>
HPCC-10528 New threaded concat code can lock up

Improper handling of readyPending (the optimization to just use them up rather
than signalling all at once is not valid, as they would only get used up when
!inGroup).

Also a potential race condition in the eof handling in peek.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-10380 Refactor Matchbagofwords

- Refactor matchBagofwords() to make it easier to add new modes of operation
in the future
- Use new code structure to implement StringMatchBagofwords2(),
UnicodeMatchBagofwords2() and UnicodeLocaleMAthcBagofwords2()
- Preserve the existing interfaces StringMatchBagofwords() and
UnicodeLocaleMAthcBagofwords() for compatibility

Signed-off-by: Edin Muharemagic <edin.muharemagic@lexisnexis.com>
Merge pull request #5150 from RussWhitehead/wuResubmit

HPCC-10370 Resubmit workunit uses the original user's id

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #5203 from richardkchapman/concat-lockup

HPCC-10528 New threaded concat code can lock up

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
Merge remote-tracking branch 'edin/saltlib_refactor2'

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>