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 [1/3]
https://github.com/bitcoin/bitcoin/pull/19556/commits/eeee1104d78eb59a582ee1709ff4ac2c33ee1190
Depends on D9780, D9783 and D9784