Better way of determining new session interactions

The plan is to store user metadata that helps us know if we should treat the next message from the user as a new session message. This will hopefully help the toolkit to work better with non-session-based channels.