Reduces amount of polling during live tests.

I just looked at a log and it seems like we're sending 100+ polling
events during our testing. That is no good.

One issue is that watchers were never killed; they kept polling even
after the test was finished. I've dealt with that now.

I also reduced the frequency of polling, because these tests don't
really need to see all messages instantly.
Correct difference in polling and socket behaviour.

The socket code was using the time_stamp of a recent event to determine
the value of `l` when opening a WebSocket connection. Instead it should
use the latest top-level (non-event-specific) `'time'` value returned
when joinRoom() is called.

This seems to fix a bug where the WebSocket watcher was missing some
events from immediately after it was instantiated, possibly from a race
condition with the (now-eliminated) unnecessary request to find a time
stamp before opening the socket.

Also extends example to support sending new messages to the room.