py-configFiles: made some of Match static

- The _availableGames and _availablePlayerTypes should be static, not
  associated with a specific object.
- Besides should be, this means that each object's __dict__ is flatter,
  no external objects like a Game.
- Goal: can be represented as a JSON object, which can then be read in
  from a file, such as a file full of a list of experiments.
py-configFiles: made Match serliaziable, sort of

By sort of, I just mean, it's not a very standard way.
- Match.to_dict: spits out the "public" fields in a dict.
- Match.from_dict: sets (or adds!) fields from a dict
This way, we can read in a json dict from a config file to construct
Match objects.
Also, this meant changing the field that was a list of player types from
private to public, so that the file can specify what player types we
want, based on the experiment we might be running.