Introduce overall (game) and per-match random seeds.

Pass in random seeds to player bots and internal bots so matches can be
replayed if both player bots use the optional seed.

Primary purpose: Ensure easy replayability and debugging bugs that only
happen occasionally, so you can run 1000 games headless, find the one
in which your bug/exception occurred, and debug that one alone with the
GUI by inputting that match-seed.