Revert my async prefs changes

Ok, I made the mistake of not creating a separate branch for this (we learn by doing I guess). I apologize for this and will do better in the future.

My initial thought was to try to make all getting and setting of preferences asynchronous. While working on this I realized this is unnecessary and hard to maintain.

I believe it is enough to async load the preferences once on application startup and store it in an in-memory object that can be used synchronously. We then just have to make sure this object gets copied back to the async storage at the right times (upon write and at application end)