4da2862f8f
g-s-d has been taking care of this for us but in a very hackish way that causes dconf writes on every startup and also doesn't handle dynamic updates to locale1's properties which has become a problem now that GDM keeps its greeter session running in parallel with users'. To take care of this properly, this commit introduces a settings abstraction with both system and session implementations. The session implementation just wraps access to the existing gsettings while the system one gets its values from org.freedesktop.locale1's properties. https://bugzilla.gnome.org/show_bug.cgi?id=746288