Adding a case for aggregation values based on a column value.

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30