Remove mempool global
Summary:
PR description:
This refactor unlocks some nice potential features, such as, but not limited to:
- Removing the fee estimates global (would avoid slightly fragile workarounds such as Disable fee estimation in blocksonly mode (by removing the fee estimates global) #18766)
- Making the mempool optional for a "blocksonly" operation mode
Even absent those features, the new code without the global should be easier to maintain, read and write tests for.
This is a backport of core#19556 [3/3]
https://github.com/bitcoin/bitcoin/pull/19556/commits/fafb381af8279b2d2ca768df0bf68d7eb036a2f9
Depends on D9789
Test Plan: ninja all check-all
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D9790