Introduces ChainstateManager::GetPruneRange().
The prune budget is split evenly between the number of chainstates,
however the prune budget may be exceeded if the resulting shares are
beneath `MIN_DISK_SPACE_FOR_BLOCK_FILES`.
This is a partial backport of core#27596
https://github.com/bitcoin/bitcoin/pull/27596/commits/1019c399825b0d512c1fd751c376d46fed4992b9
Depends on D17894
The release note will be added together with the release note for loadtxoutset, to guarantee that both notes will be associated with the same release.