OPENDJ-2016 Implement new on disk merge import strategy based on storage engine
The key/value pairs inserted into trees are now rigorously identical to what the indexes are inserting.
Values are merged before final call to Storage.put(). A possible optimization is to start merging values during the first phase.
OnDiskMergeStorageImporter.java:
Added MergingCursor, Consumer, MergingConsumer, NoMultipleValuesConsumer, ImportIDSetsMerger.
In copyTo(), implemented the merge phase.
DefaultIndex.java:
Extracted decodeValue() and toValue() methods.
DN2ID.java:
Extracted toValue().
ImportIDSet.java:
Extracted merge(EntryIDSet) from merge(ImportIDSet).
VLVIndex.java:
Extracted toValue() method.