LPS-46267 Push the concept of FallbackKeys down to the SettingsFactory. This will allow us to get rid of BaseServiceSettings and generalize the configuration actions.
LPS-46267 Remove BaseServiceSettings and prevent high level Settings (WikiSettings, DLSettings, etc.) from implementing the Settings interface to avoid inconsistencies between low level and high level getters. Also, simplify configuration actions.
LPS-46267 Register high level fallback keys with SettingsFactory
LPS-46267 Prevent TypedSettings from implementing the Settings interface. This is done because TypedSettings is a decorator which extends functionality of a real Settings object, but it does not give any functionality when used as a Settings object: it just adds some more fancy methods to the Settings interface, but does not alter the functionality in any other way. It's a similar pattern to the one we have applied to BaseServiceSettings.
LPS-46267 Rename _wrap as applyFallbackKeys() and make protected
LPS-46267 SF - Avoid chaining
LPS-46267 Move initialization of SettingsFactory to a startup action. This makes initialization cleaner and allows plugins to register their own fallback keys.
LPS-46267 SF
LPS-46267 SF
LPS-46267 Let's not make it a static var if we don't have to
LPS-46267 Remove unthrown exception
LPS-46267 Auto SF
LPS-46267 See ConjunctionImpl
LPS-46267 Auto SF
LPS-46267 Rename
LPS-46267 Sort