Adds a --descriptors option globally to the test framework. This will
make the test create and use descriptor wallets. However some tests may
not work with this.
Some tests are modified to work with --descriptors and run with that
option in test_runer:
- wallet_basic.py
- wallet_encryption.py
- wallet_keypool.py
- wallet_keypool_topup.py
- wallet_labels.py
- wallet_avoidreuse.py
Backport of Core PR16528 part [43/43] : https://github.com/bitcoin/bitcoin/pull/16528/commits/223588b1bbc63dc57098bbd0baa48635e0cc0b82
Changes to key.py were already introduced in D8475
Test requires additional changes because transaction sizes are different in Bitcoin ABC when using descriptors. Without descriptors, `w2.walletcreatefundedpsbt generates p2pkh transactions, and with descriptors it generates p2sh transactions.