implemented state machine for Game
basic game play, many rules still missing, some test tidy up