Recheck in LPS-46267

Revert "Revert "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.""

This reverts commit a50369054d41fa84332c5da466586b4ea29815bb.

Revert "Revert "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.""

This reverts commit f90f75db46861982cce602eea9e331a2dce7c59e.

Revert "Revert "LPS-46267 Register high level fallback keys with SettingsFactory""

This reverts commit 014bec3a932e23f337ef91ded3f4450989bac52c.

Revert "Revert "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.""

This reverts commit bebe1a78bd5c7797f4a17a9e73cdce4f56aa7595.

Revert "Revert "LPS-46267 Rename _wrap as applyFallbackKeys() and make protected""

This reverts commit 0d62f246abc843031df4fe97860a8ed004a0713b.

Revert "Revert "LPS-46267 SF - Avoid chaining""

This reverts commit a4118318e6d35fa0b7563c78cb2e21e1b3a35473.

Revert "Revert "LPS-46267 Move initialization of SettingsFactory to a startup action. This makes initialization cleaner and allows plugins to register their own fallback keys.""

This reverts commit 910cf35d77413c15bc234871eacfecd39e6544f9.

Revert "Revert "LPS-46267 SF""

This reverts commit a1f1bdc0f5e2093966ac03ccf1f8c5c0cf0df208.

Revert "Revert "LPS-46267 SF""

This reverts commit 035db5229f22731c44b688e3154c1dde325f20bf.

Revert "Revert "LPS-46267 Let's not make it a static var if we don't have to""

This reverts commit 83bde4629c5ab6b35054aaf977f6e6ca4c327e24.

Revert "Revert "LPS-46267 Remove unthrown exception""

This reverts commit f913ad4844a411f71655c5fc9a36920495cbfcab.

Revert "Revert "LPS-46267 Auto SF""

This reverts commit cf4e69bfc29f384871fa2f04d5439b4cc235c76c.

Revert "Revert "LPS-46267 See ConjunctionImpl""

This reverts commit 08b9efe22883bdde965ff8d68c726506e63fffbc.

Revert "Revert "LPS-46267 Auto SF""

This reverts commit e8a37b5ee4d22af3dae6cf722779c2803437be54.

Revert "Revert "LPS-46267 Rename""

This reverts commit 9f77350a154b39f25fa35403883619e4bb408477.

Revert "Revert "LPS-46267 Sort""

This reverts commit 36d17166c80bf1c1faced30362674bbef97e2251.
LPS-46267 Add SettingsFactory initialization code to test support library
LPS-46267 Manually sort because SF is not picking it up
LPS-46267 Remove exception that is never thrown