What should we add?
For example, suppose diagonalize_fermionic_hamiltonian runs a few iterations of configuration recovery and then stops for some reason. We should be able to later resume from where it left off.
It might be enough to add a carryover_configurations argument to pass carryover configuration for the first iteration. Then, we can restart a calculation by passing this together with initial_occupancies.