INT-1197: Add support for WebSockets: client side

JIRA: https://jira.spring.io/browse/INT-1197

**DO NOT MERGE YET**

For me: this PR needs JavaDocs only.
All others (namespace, server, docs etc.) might be covered within other JIRAs.

@rstoyanchev, review this, please, too.
I suggest we do this in `start()` as well (or instead). This code relies on the fact that the connection manager invokes the callback before returning. While this is true now, it might not be in future.