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.
You could just default-initialize `_id` in the class:

    class AbstractIndex {
      std::string _id = "...";
    }