Offheap incremental index

* IncrementalIndex now uses offheap to store aggregates
* GroupBy queries use processing buffer to store intermediate results 
RealtimePlumber and batch ingestion both take care of not to overfill the IncrementalIndex, 
they are already triggering a spill to disk when the rowCount reaches the rowflushboundary, also when creating the index allocates enough buffer to hold upto rowFlushBoundary rows.