Implement ColumnStoreMerger

The ColumnStoreMerger follows the approach described in section four of the paper 'Fast Lookups for In-Memory Column Stores'. (http://ares.epic.hpi.uni-potsdam.de/apps/static/papers/Fast_Lookups_for_In-Memory_Column_Stores_latest.pdf)

It's main advantage is observable if indices are being used. If a group key index exists on the main partition this index is going to be reused and extended instead of rebuilt from scratch which offers performance improvements.

The ColumnStoreMerger is in general faster than the normal merger in most cases. The other cases are work in progress.

I think a lot of discussion and review will be necessary.
getId is necessary to replace an old index by a new one in the StorageManager.
Do you mean if the declaration in this file is necessary or the functions recreateIndex and recreateIndexMergeDict in general?