sync-engine-shared - Change file paths for children as well
sync-engine-shared - Check on create events only
sync-engine-shared - Reuse and make public
sync-engine-shared - Watcher holds a handle on folder for < 100 ms. Generally this isn't a problem but in a case on Windows, deleting a folder and it's empty subfolder will cause a DirectoryNotEmptyException on the parent since it's so quick. We can just stop watching the directory before deleting, which also reduces noise.