Fix incorrect memset call.
Change how the protocol negotiates version information. This is a backwards incompatible change. Fixes #1: Open in client feature socket write failed

More information: previously, the server would send its protocol version immediately after a client establishes a TCP/IP connection. This is a bad idea, as such message is spam, and the client is free to ignore such spam, and close the connection immediately, if it chooses to do so. This is an issue, if it closes the connection before the version message is transmitted, as the server will complain about not being able to deliver such message. Now, the server's protocol version is sent *only* as a direct response to client's protocol version - thus if the client tells the server that it's using protocol version xxx, the server will respond with a message that it's using protocol version yyy.