added flatten method
finished bulk of work for properly handling 2 and 3 player games.
still need to update the tests
fixed moves to match 2 player rules
fixed SimpleAI to work with new 2 and 3 player rules
minor refactor to put errors in own file
kill useless comment
 r/district/building and r/character/role
can now run AI tests using JSON output
removed unused json import
last cleanup before implmenting sqlalchemy
tests working, this commit is to test a weird sqlalchemy thing
tests working, testing a weird sqlalchemy thing
tests broken (weird sqlalchemy thing)
sqlalchemy weirdness figured out - was using players instead of self.players in for loop.  will try to delete last two commits
converted buildings to be stored by id rather than full Building objects.  converted to full Buildings where needed
checking in before merging Round and Gamestate.
moved SimpleAI into new file.
changed GameState to take a seed instead of a Random on creation
integration tests pass for even number of players but fail for
odd number.  WTF did you do peter?
Changed Round.has_used_power and Round.has_taken_bonus to Lists
instead of Dicts.  The integer keys used in the Dicts were getting
converted to strings by the conversion to json when they were
being stored in the database.
housecleaning before merging back into master