Introducing the StreamingCodec interface

Also includes some clean up and some utils
Merge branch 'master' of https://github.com/Microsoft-CISL/REEF into shravan_ng_groupcomm_1
Merge pull request #984 from Microsoft-CISL/shravan_ng_groupcomm_1

Introducing the StreamingCodec interface