HPCC-11261 - fileservice superfile actions can lockup on retry

Back porting 5.0 changes to 4.2.6, comprised of 3 cherry-picked commits:

1) [ NB: This was opened as separate issue to fix regression introduced by HPCC-11261 ]
commit 4cc6ced8aa10ffbac47e15ef6edf1988fdec2311
Author: Jake Smith <jake.smith@lexisnexis.com>
Date:   Wed Apr 30 16:37:00 2014 +0100

    HPCC-11288 - regression if inside transaction
    
    Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>

2) commit ce5aea2f2c687947c18d2b8e3b6bc79ce64b537a
Author: Jake Smith <jake.smith@lexisnexis.com>
Date:   Tue Apr 29 11:54:09 2014 +0100

    HPCC-11261 - add some comments
    
    Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>

3) commit c461b36d501fc3d06bc4f7ac17570e88b251910a
Author: Jake Smith <jake.smith@lexisnexis.com>
Date:   Tue Apr 29 11:27:55 2014 +0100

    HPCC-11261 - fileservice superfile actions can lockup on retry
    
    superfile actions that block due to other locks, clear their
    cached files on pause/retry. However, the superfiles from
    fileservices were still being held behind the transactions back.
    On retry the transaction restablishes the file locks, but is
    now in contention with the superfiles held in the caller.
    
    Change so that transaction is started/committed (if required)
    after the file is release in the caller
    
    Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>