only one thread can use the settings file at once

#435 - FileSystemStorageSettingsStore can only have a single thread
reading and/or writing to the settings file.

When multiple files are selected for opening in an Open file dialog, JumpListIntegration would try to update the recent files in settings separately for each filename (by handling FileOpenEvent). This seems to create a race where it's possible to have the settings file still locked while attempting to update it again.

I've added a SemaphoreSlim that would ensure that there is only a single thread being able to read or write to the settings file at a time.
Could we just use `lock (..)` instead? It tends to be less verbose