ChainstateManager is responsible for creating and managing multiple chainstates, and will provide a high-level interface for accessing the appropriate chainstate based upon a certain use.
Partial backport (2/5) of core PR17737:
https://github.com/bitcoin/bitcoin/pull/17737/commits/89cdf4d5692d396b8c7177b3918aa9dab07f9624
Depends on D8537.