Keep backup of settings file. Do write under lock.
Lock just in case someone will call EnsureSettingsAreUpToDate outside the lock.
Merge remote-tracking branch 'upstream/master' into Portable
Submodule status image fixed
Merge remote-tracking branch 'upstream/master' into Portable