This restarts chronik the same as other indexers when reaching the snapshot base.
Part of the work to support Chronik with assume was done in D17894:
- not indexing blocks that have ChainstateRole::ASSUMEDVALID (blocks arriving on the m_snapshot_chainstate while the backroung IBD is still ongoing)
- selecting the proper chainstate based on the current state
- m_ibd_chainstate when an active background IBD is happening
- m_snapshot_chainstate after the background IBD is complete
- m_ibd_chainstate after a restart when this is the only chainstate left
Add basic tests for chronik when loading a utxo snapshot..