Offheap incremental index

* IncrementalIndex now uses offheap to store aggregates
* GroupBy queries use processing buffer to store intermediate results 
Is this because the BufferAggregators could have state, or is it a way to ensure that multiple threads using the same buffer can see all the writes? Or both?

I don't see any synchronization on reads from the buffer. Is that okay? I could imagine fancy aggregators like HLL having sorta whacky reads if they are peeking into a buffer that is currently being mutated by an ingestion thread.