Updates handshake protocol to send response and expect confirmation

The server-client handshake is currently unilateral, and does not require the client to complete any transaction. This means that the server cannot guarantee that the client has the unhindered ability to send messages, subject to message middleware. The server half of this change has already been merged.