Cutting down some serialization costs

Made GroupCommMessage a new Class instead of being a protobuf msg. Also
added StreamingCodec interface which reduces the peak memory usage
Tree Topology

Associated fixes for failure
Task changes