Created a new branch to make a first attempt.

Will add existing code in the next commit.

Some renaming of variables to follow Python coding conventions.
Class summaries.
Added some existing code and a parallel attempt at a deterministic solver.
Took out the idea of "forking" in the deterministic game for now.
Various changes.
A lot of work.
Fixed some logic.
Moved the game description to the calling class to allow automated testing.
Merge branch 'first_attempt'