Add comments all around; my interpretation of the API
During implementation it became evident that some things were not explicit enough in the API. In particular, protobuf3 allows any field to be omitted, but systems always need some key fields.
Probably shouldn't be merged now. Let me know where I'm wrong. In particular the meaning of StatusCode in streams is not obvious to me.
Edited by D3M bot