Simplify gameplay flow
Simplify gameplay flow

Consolidate the logic of when to end the game. As a reminder, the clock
is punched before submitting the move because most of the time in
Board::submit_move() is spent calculating the new legal moves, which is
better placed on the other player's time.

MarkZH/Genetic_Chess,MarkZH/Genetic_Chess,MarkZH/Genetic_Chess,MarkZH/Genetic_Chess,MarkZH/Genetic_Chess