Passes the sync lock to the watcher timer

The lock used by the Synchronizer is now passed to the Timer used by the
DirectoryWatcher, so that no commit hook can run while the timer is
ticking down.