Bug 1072757 - Implement SettingsCore

and we should add a test covering that if the API is unavailable the APIHandler won't be started
(this one is not a nit)