Merge pull request #4325 from ghalliday/issue9229

HPCC-9229 Introduce a Array::swapWith(Array & other) member

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPPC-9171 Fix assert(original) caused by implicit project changes

If a nested row had fields removed from it, and that row was referenced
from a TABLE() operator, it was possible for the selects to become out of sync
with the record, causing an internal error.

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