Add loadwallet and createwallet RPC load_on_startup options
Summary:
This maintains a persistent list of wallets stored in settings that will
automatically be loaded on startup. Being able to load a wallet automatically
on startup will be more useful in the GUI when the option to create wallets is
added in #15006, but it's reasonable to expose this feature by RPC as well.
This is a backport of core#15937
I had to include the RPCOverloadWrapper.createwallet method that should normally be added in D8671 in test_node.py. D8671 is going to take a bit longer to be backported, and the inclusion of CreateWallet here does not break anything or change any behavior, as descriptors will remain False for now.
See D9101 for why if load_on_startup is None: load_on_startup = 'null' is necessary.
Test Plan:
ninja all check-all
To be sure the change in test_node.py didn't break any test:
ninja check-functional-extended
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D10185