Change use of object as key

Use the sessionId as a key instead.

Jira Issue: wp-737
Avoid corruption of unicode strings

The message is accumulated in string parts, which might break if the buffer boundary happens to be in the middle of a multi-byte char. Instead, accumulate the data in a buffer and convert it to a string when it has all been received.

Jira issue: wp-737
Merge pull request #456 from TobyEalden/wp-737

Fix PZH message handling