Update protocol documentation

The primary and auxiliary connection system is replaced with command
connections (of which there is exactly one) and data connections, the
latter of which are used only to transmit blobs and do not transmit
commands.

The "unrecognized secret" response to authentication is defined to mean
that future attempts will also fail, and the contact should not attempt
to connect again other than to deliver a new contact request.

Rules are specified for deciding which connection is used as a command
connection and how they are replaced, while preventing races between
peers.

Unbuffered (unlimited length data) commands are removed in favor of data
connections.

The command data field is exactly equal to the length of the data,
rather than being one more than the length.