MoveVisitor now handles the Movements.
Tweaked Undo/Redo to handle the En-Passant