Proto commits in nknorg/nnet

These 10 commits are when the Protocol Buffers files have changed:

Commit:211b4d4
Author:Pascal Eberlein
Committer:Yilun Zhang

moved protobuf definitions into their own directories and adjusted contents

The documentation is generated from this commit.

Commit:41c2446
Author:Yilun

Change GetNode to ExchangeNode for 2-way node exchange Previously when B is ready on A's side, B may not have A's ndoe info. Now when B is ready on A's side, B is guaranteed to have A's node information. Signed-off-by: Yilun <zyl.skysniper@gmail.com>

Commit:dbd2b28
Author:Yilun

Implement efficient broadcasting using spanning tree constructed from Chord topology Signed-off-by: Yilun <zyl.skysniper@gmail.com>

Commit:d10b7f6
Author:Yilun
Committer:Yilun

Unify FindSuccessors and FindPredecessors into FindSuccAndPred to simplify code Signed-off-by: Yilun <zyl.skysniper@gmail.com>

Commit:d87b574
Author:Yilun
Committer:Yilun

Add Node.Data field, LocalNodeWillStart and LocalNodeStarted middleware Signed-off-by: Yilun <zyl.skysniper@gmail.com>

Commit:9d0f52b
Author:Yilun

Add FindPredecessors for Chord Signed-off-by: Yilun <zyl.skysniper@gmail.com>

Commit:2897f93
Author:Yilun
Committer:Yilun

Add broadcast, bytes msg, txMsgCache, and routing middleware * Implement broadcast msg type and broadcast/relay example * Add bytes msg type for use defined msg * Add txMsgCache to prevent send duplicate msg * Add routing middleware to handle and change received msg Signed-off-by: Yilun <zyl.skysniper@gmail.com>

Commit:14cf2d8
Author:Yilun
Committer:Yilun

Notify neighbor with stop message when disconnecting. Merge multipe reply chan since all msg have same id. Add remoteNode ready state and change join protocol to avoid race. Signed-off-by: Yilun <zyl.skysniper@gmail.com>

Commit:2fafa16
Author:Yilun

Add nnet.ApplyMiddleware and middleware example Signed-off-by: Yilun <zyl.skysniper@gmail.com>

Commit:9ec919c
Author:Yilun
Committer:Yilun

First working version Signed-off-by: Yilun <zyl.skysniper@gmail.com>