Introducing client-id and channel it through streaming.

- Using uuid.js to generate valid version 4 uuids
- The client and the streaming pages generate their own client ids.
- Streaming api now accepts a dict { clientID: <id>, filter: filter_dict } instead of { <filter_dict> }
- Streaming api now has a different output structure: { type: <msg_type> , payload: <data>, options: <msg_options>} instead of [data, action]

Fixes #661
Fixes #619
Bugfix: Notifications for logged-out users too.
Using broofa/node-uuid uuid library

For better random generation
Merge pull request #687 from hypothesis/661-client-side-session-ID-1

Introducing client-id and channel it through streaming.