Basic group communcation logic 

### Complete basic group communcation logic 

For ML, I need to distribute the data and compute the data parallel. After that, I need to aggregate the parallel computed data.
To implement above things, I uses two tasks: MLAggregateTask and MLComputeTask.

MLAggregateTask: aggregate the partial computed data from MLComputeTask and re-broadcast the aggregated data to MLComputeTask.
MLComputeTask: computes SGD with SVM and sends the data to the MLAggregateTask. 

In order to implement these communication, I uses group communication API. 
This pull request contains basic group communication logic for the above communication.