Hold the save_timer Mutex for the entire save operation

Merged Legoktm requested to merge save-better into main

I don't think this makes a difference in practice, but it clarifies the intent of the code and enforces that only one thread can be saving at a time.

Merge request reports