really recreate socketio-client in expressCreateServer, fixes #2342

When using plugins, the express server gets restarted. When we do that,
the socketio-server should also get restarted. It doesn't. That means
that all the events in SocketIORouter.js are bound twice, which causes
chaos all over etherpad.

This changes our socketio.js so it fully recreates the io-instance when
we restart the server.

introduced in 95e7b0f15609fc850b71717a672abd02237a0f33, but catching
that would have been hard.
Merge pull request #2342 from ether/fix-2320-crash

fix #2320
Merge branch 'develop' of github.com:ether/etherpad-lite into jsdom-go-away