send ping every 30 seconds to keep websockets alive

useful in circumstances when proxies kill idle connections

closes #3195.