HPCC-11937 Fix race condition in smart join

HPCC-11953 Throw error when RIGHT rows would be lost

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
It is hard to enforce - since the rule is actually a lock is held - or you can guarantee that no-one else is accessing it.  It is also tricky to test if a lock is held (I don't think the OS locks provide that functionality - I had a quick look).