The only caller that uses this is ~ChainTestingSetup() where we
immediately destroy the mempool afterwards.
This is a partial backport of core#22564
https://github.com/bitcoin/bitcoin/pull/22564/commits/572d8319272ae84a81d6bfd53dd9685585697f65
https://github.com/bitcoin/bitcoin/pull/22564/commits/7d99d725cdb5428ed25dc07c2d7fddf420da7786
Note: the first commit is mostly not applicable to Bitcoin ABC, I mention it only because of the moving of ~ChainstateManager() from validation.h to validation.cpp. g_versionbitscache and warningcache are related to Core's BIP 9 and "buried deployments" business.
Depends on D13089