wallet: Make -wallet setting not create wallets
Summary:
This changes -wallet setting to only load existing wallets, not create new ones.
- Fixes settings.json corner cases reported by sjors & promag: https://github.com/bitcoin-core/gui/issues/95, https://github.com/bitcoin/bitcoin/pull/19754#issuecomment-685858578, https://github.com/bitcoin/bitcoin/pull/19754#issuecomment-685858578
- Prevents accidental creation of wallets reported most recently by jb55 http://www.erisian.com.au/bitcoin-core-dev/log-2020-09-14.html#l-355
- Simplifies behavior after #15454. #15454 took the big step of disabling creation of the default wallet. This PR extends it to avoid creating other wallets as well. With this change, new wallets just aren't created on startup, instead of sometimes being created, sometimes not. #15454 release notes are updated here and are simpler.
It is a bug fix and simplifies behavior of the core#15937 / core#19754 / core#15454 features
This is a backport of core#20186
Test Plan:
ninja all check-all
With bitcoin-qt, create and load a wallet, close the program. In the file explorer rename the wallet directory. Restart bitcoin-qt and check that now the old wallet name is not recreated (in addition to the wallet with the new name) but an error message warns about it not being found. The new wallet name is now the only wallet avaialble.
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D15144