Solves possible pointer-based comparison fiasco. Another nice outcome of this is that topology cache will now be preserved throughout the undo system. For example, undo of object transform will not require topology cache to be re-created. Differential Revision: https://developer.blender.org/D8493