close websocket connections on ping/pong timeout

we recently added ws pings for keep alive, and we can now use the longs to close dead connections.

This can apparently happen when connections are not closed cleanly, e.g. on VPNs.

closes #6299

Setting ws_ping_timeout = 0 disables the ping mechanism altogether.
@cancan101 when the server sends a ping, the browser responds with a pong (this is part of the websocket spec, there isn't any javascript code to call).