refactor: remove ::vpwallets and related global variables
Summary:
Move global wallet variables to WalletContext struct
This is a backport of core#19101 and core#22992
Test Plan: ninja all check-all
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D17952