Change ChainTestingSetup and TestingSetup to allow passing a Config to be used when initializing the ChainstateManager. Leverage this in checkpoints_tests to have a consistent custom config throughout the test, instead of passing a custom config to ProcessNewBlockHeaders while the rest of the validation code uses a different global config.
To make it work, I had to change DummyConfig::GetMaxBlockSize to return a value that makes more sense.
Remove the unused DummyConfig::SetChainPairams function.
This diff will allow us to use the chainparam's config in more validation functions: AcceptBlockHeader, AcceptBlock, ProcessNewBlockHeaders, ProcessNewBlock
It is also needed to backport https://github.com/bitcoin/bitcoin/pull/24595/commits/78adef17536edef833a0bfca06b61ce28120e486, which currently causes checkpoints test to fail.