Finish implementation of undo system: modifications to allow undo of hasMoved() and lastPawnJump