CSMessages use Reads instead of ``fromJson`` hack.
Make SCMessage use json Writes.
Split the basic traits of Game and GameFormat.

Separation of concerns: we can have a game without defining a way to
encode it in JSON.
Add a TODO to remember to fix JSON writes/reads.
Merge branch 'refactor-json'