Introduce checked sendMessage() method

This method send a message down the socket and makes sure that
negotiation fails if the message does not reach the peer for any reason.
Subclasses should use this method instead of talking directly to the
underlying channel.

Change-Id: I5b8201caef1c4ba655dad12fb139b054b9e75f06
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge "Introduce checked sendMessage() method"