Lots of refactoring.

Using Aeson for json.
newtypes for PlayerID and GameID
Some other stuff that i can't remember