Cleaning up debugging println statements

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
Sending the correct result offset of aggregation results to GPU

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
Copying back results from GPU and cleaning up GPU resources

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
Distinguishing between aggregation operations and math operations

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
Pretty print toString for aggregationOperation

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
Updating testCases distinguish between aggreation ops and math ops

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
Adding one more test case for aggregations to constants.

#30: port aggregations from opencl/cuda implementation 

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