Add util.openFileP as a less strict alternative to util.openExclusiveP.
Add a test of Watcher functionality.