This restarts chronik the same was 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..