whitespace
unify path generation
yay, concurrency
code reshuffling
avoid the wrath of maxListeners
allow for a little more chaos in the test script
add timeout
refactor the strategies a bunch
do our best to push the timeout forwards
do our best to keep the timeout happy
continue checking staleness
always take the fast path for timeouts, don't wait for the watcher
typecheck the path
remove erroring things from the pipeline too
futimes is rare/cheap enough anyway