Implement SaveState

Multiplayer phase 1, implement save states
Add tester apps for socket comms