make Move
Applies a move to the given board and gameState, returning the new board and game state.
Handles updating castling rights, en passant targets, half-move clock, and full-move number.
Return
A pair of the new board and new game state after the move.
Parameters
board
The current board state.
game State
The current game state.
move
The move to apply.