main.js connection timeout reconnect

now restartState() reconnects the client and then restarts the current
game state if no error
main.js timeout restart state

after restarting the state, can still control the robot, but keyspaces
and everything else are not getting updated...
Merge branch 'John'