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.
Merge branch 'message-class' into test