Changing the signature of ColumnarTypes.getIndex to accept a column Type

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
Sending the correct type of group by columns.

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
eliminating the leading zero from the scan left results.

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
Changing the type of gpu content buffer to see what exactly is in it

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
renaming the local variable in build_groupby_key kernel

there is already a variable named key in this scope (the method
parameter). Renaming this local variable makes it easier to read.

#30: port aggregations from opencl/cuda implementation 

Task-Url: http://github.com/meisam/spark/issues/issue/30
Adding a few more test cases to gpu aggregation

#30: port aggregations from opencl/cuda implementation 

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