Add <datadir>/settings.json persistent settings storage.
Summary:
Persistent settings are used in followup PRs #15936 to unify gui settings
between bitcoin-qt and bitcoind, and #15937 to add a load_on_startup flag to
the loadwallet RPC and maintain a dynamic list of wallets that should be loaded
on startup that also can be shared between bitcoind and bitcoin-qt.
Backport of PR15935 part [2/2] : https://github.com/bitcoin/bitcoin/pull/15935/commits/9c69cfe4c54e38edd2f54303be2f8a53dcf5bad8
Test Plan:
ninja all check-all
Reviewers: #bitcoin_abc, jasonbcox
Reviewed By: #bitcoin_abc, jasonbcox
Subscribers: jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D8012