Log client version on connect
Protocol state machine on receiving side
Simplify locking in protocol.Index
Always send initial index, even if empty (ref #344)