MOVEONLY: separate CTxUndo out of core