New Rebuild monad utils and use in ProjectPlanning
Monitored variants of createDirectory and getDirectoryContents. Define thee wrappers in the RebuildMonad module so we have fewer open-coded tricky monitorFiles calls. In particular replace a glob monitor on the content of the store with a monitor on the store directory itself. This is valid based on the behaviour of directory mtimes, which is specified by posix and we have a sanity check for it in the unit tests.