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