session: Add Message
session: Add Message

All session layer messages must extend Message. The purpose of the
Message is to make all operations support retrying and queueing.

Message#send unifies transmission of messages among different message
types, which allows re-sends and queuing of messages. This requires
that message specific sending logic is placed in #send.

Re-transmission of a message is at the user's discretion based on an
error condition or detected inconsistency in sequence ids.

Signed-off-by: Harri Salokorpi <eefb23b8deb8c30dca252cd0ae751b67337dc69f@reaktor.fi>
Signed-off-by: Karim Osman <94396faf6cc817be76165477038b3cfa832e89a4@reaktor.fi>

akisaarinen/ccf,akisaarinen/ccf