Add support and tests for heap integration.

The message.sessionId here seems wrong. How are userId and sessionId set, and what are they? What does the web integration use for heap.identify on segment.io?