This PR adds an address explorer RPC to Bitcoin Core, similar to "Address" tab of Electrum or Specter Desktop.
This allows the user to know any arbitrary range of external and internal addresses and can be used with legacy or descriptor wallet.
This same functionality can be used to build an "Address" tab in the GUI later.
For better visualization in manual tests, the reviewer can start the node with the keypool reduced to 2. (default is 1000) and create a new wallet.
./src/bitcoind -keypool=2
./src/bitcoin-cli -rpcwallet=<wallet_name> listaddresses
./src/bitcoin-cli -rpcwallet=<wallet_name> listaddresses "p2sh-segwit"
./test/functional/wallet_listaddresses.py --descriptors
./test/functional/wallet_listaddresses.py --legacy-wallet
<img width="1175" alt="image-2" src="https://user-images.githubusercontent.com/84432093/133831379-65c07e7d-d9f5-48dd-93ef-22838b91e9f2.png">