indexes, refactor: Pass Chain interface instead of CChainState class to indexes
Summary:
Passing abstract Chain interface will let indexes run in separate
processes.
This commit does not change behavior in any way.
This is a partial backport of core#25494
https://github.com/bitcoin/bitcoin/pull/25494/commits/33b4d48cfcdf145f49cb2283ac3e2936a4e23fff
Depends on D17704
Test Plan: ninja all check-all
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D17705