file watcher tidying
Use a sync mutex, which is sensible here.
(I was prompted to look at this because @wesleyac was having trouble with the .block_on() impl in MockExecutor. #1835 (closed). I wanted to experiment with what happens if we have Runtime not impl BlockOn. I'm not sure what the right direction is there, but I think this MR is good anyway: even if calling .block_on continues to be possible here, it's not necessary and using an async mutex is overcomplicated.)