See individual commit messages for more info.
This moves checkpoints directly into chainparams, then disconnects the checkpoints from Params. In addition, Checkpoints::fEnabled is moved into main as fCheckpointsEnabled because it’s up to the app layer to control that behavior.
All that remains is to parametrize the checkpoints usage of mapBlockIndex, which requires some code shuffling first.