Move LocateFilePromiserGroup to a separate module
Ensure empty work directory for subsequent test runs
Separate recursive file search and leaf operations on files

Now leaf operations are performed by VerifyFileLeaf, while recursive search is
carried out by VerifyFilePromise and DepthSearch.