Add warning when engine makes illegal move
Don't try to stop game twice on engine bug
Fix Undo before engine moves

Since I added a delay before telling the engine to move, this opened a
window where the engine could become desynced if you use Undo before it
receives a move request, since during this time, the ChessEngine class
thinks it's still the human player's turn