HPCC-10770 - Allow SuperOwner to be changed  wilst file read

Add independent locking mechanism for SuperOwner, so that it can
be protected and manipulated whislt files are being read.
Refactor some of the very similar locking code used to lock
files the attributes of files and this new SuperOwner lock.
Also use a new branch independent of the file itself for the
new SuperOwner locks, which as a side-effect will also make
them fast to access, i.e. rather than walking a long scoped
file path to get to lock.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-10770 - updates following review

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

HPCC-10770 - Allow SuperOwner to be changed  wilst file read

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>