SFR 460602 Config lost.  Stop using FailSafeTransaction for config file.
Instead use new TransactionBasedFile.  Rather than relying on copying
multiple backups of the original and new files, instead just make new
writes to a temporary file; and then save the result by (atomically)
moving it over the top of the original when the changes are complete.
SFR460602 Rate-limit how often config is written to file.