#next_player sets current_player to the other player
#is_valid_move? returns true if chosen move is unavailable space on board
Create FakeBoard to analyse consequences of move without affecting state of the board
Board#mark_space raises 'Invalid move' error if unavailable space marked
Refactor #results_in_opponent_fork? to use FakeBoard