Bug 1062798 - Replace custom JSON loaders with LazyLoader.getJSON in SettingsApp

Replace various custom JSON loaders in SettingsApp with LazyLoader.getJSON.
Refactor code to handle promises where needed, and update tests to match.
Merge pull request #24791 from rjmackay/bug-1062798-settings-app-json-loading

Bug 1062798 - Replace custom JSON loaders with LazyLoader.getJSON in Settings App