[Part 3 of 5] Add a CChainState class to clarify internal interfaces
Summary:
Make DisconnectBlock unaware of where undo data resides on disk
Backport of core PR 10279 Commit 93a34cf.
Depends on D1969
Test Plan:
make VERBOSE=1 check && ./test/functional/test_runner.py
Reviewers: #bitcoin_abc, O1 Bitcoin ABC, jasonbcox
Reviewed By: #bitcoin_abc, O1 Bitcoin ABC, jasonbcox
Subscribers: teamcity
Differential Revision: https://reviews.bitcoinabc.org/D1970