Move its ownership to the ChainstateManager class.
Next to simplifying usage of the kernel library by no longer requiring
manual setup of the cache prior to using validation code, it also slims
down the amount of memory allocated by BasicTestingSetup.
This is a partial backport of core#30141
https://github.com/bitcoin/bitcoin/pull/30141/commits/13a3661aba95b54b822c99ecbb695b14a22536d2
Depends on D18855