Moved mutable game state to GameState. Currently we still serialise it, but the plan is to recreate it from the records after loading.
Allow records to Do/Undo without updating clients.
Verify record consistency on load.
Verify record consistency on push.
Removed state modifiers from Game & Team. Records now modify state directly.
Made Game and team const in Record::Apply. Bags now immutable, GameState just tracks item index.
Bug fix: ExploreRecord message said "received hex -1".
Initialise GameState on load, and reconstruct from records.
Bug fix: Don't modify records when undoing. Don't rely on team order (although we shouldn't really be changing it anyway).
Game state is now encapsulated and fully recreatable. We don't need to serialise it any more, but we still do just for verification.