HeisenbergPlusRingExchangeHamiltonian should always be real
a subsystem can now be restored from json
WalkPlan.from_json() now works for all walk types