Fix CECP checkmate processing

This was just flatly wrong. It's not an error to say the game is over.
Game: Stop should be no-op if already stopped

We're stopping multiple times in a row.  game_end_cb is followed by
engine_stopped_cb, causing "Oops! Something has gone wrong!"

https://bugzilla.gnome.org/show_bug.cgi?id=710028
Don't declare error immediately after engine quits

Chill out a moment or two. Don't lose the race between the ChildWatch
and the IOWatch.

https://bugzilla.gnome.org/show_bug.cgi?id=710028