lmno: Save session state to disk so clients can reconnect after server restart
In recent commits we added save/restore of all game state, but our
express session objects were only stored in memory. So, after a server
restart, a client reconnecting was getting an entirely new session
rather than being connect to an existing session (and associated with
the current player state in the game object).
To fix this, this commit adds a new FileStore in session-store.js
which saves sessions to a JSON file on disk when sessions are changed,
(basically just user login or nickname change), and loads them at
server start.