Mesh writes a modified copy, which meant recalc_undo_accumulated was never
cleared on the actual datablock. Also clear mesh->runtime on write to avoid
detecting changes, since it's a simple change and cleared on read anyway.
Clear is_identical_future before adding a next undo step, to avoid wrong
values for cases where we undo and then add a different next step with
different changes.
Also tweaks bke.undosys logging so it prints all undo pushes for debugging.