OAK-1804: TarMK compaction

Add de-duplication of binaries.
Minor cleanups.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1598595 13f79535-47bb-0310-9956-ffa450edef68
OAK-1708 - default the JDBC driver class name from the JDBC URI, when needed

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1598612 13f79535-47bb-0310-9956-ffa450edef68
OAK-1804: TarMK compaction

Store record ids in the journal using a format compatible with Oak 1.0

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1598631 13f79535-47bb-0310-9956-ffa450edef68
OAK-1804: TarMK compaction

Only track copies of non-leaf nodes and large binaries to avoid running out of memory when compacting large repositories

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1598696 13f79535-47bb-0310-9956-ffa450edef68
OAK-1804: TarMK compaction

Avoid compacting external blobs

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1598732 13f79535-47bb-0310-9956-ffa450edef68
OAK-1866: SegmentMK: Inefficient flat node comparisons

Optimize the handling of diff map records as either before or after states instead of just after.
Avoid loading the entire list of entries to memory in MapRecord.getEntries() of a large map.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1598797 13f79535-47bb-0310-9956-ffa450edef68
OAK-1804: TarMK compaction

Check first for externality of a blob to avoid the need to access the external binary in length()

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1598798 13f79535-47bb-0310-9956-ffa450edef68
OAK-1867: Optimize SegmentWriter.prepare()

Only compute the exact refcount value if a rough first estimate isn't good enough

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1598799 13f79535-47bb-0310-9956-ffa450edef68
OAK-1717 Concurrent updates of ordered index in cluster may fail

Added the `version` switch for choosing the desired implementation
OAK-1717 Concurrent updates of ordered index in cluster may fail

minor formatting
OAK-1717 Concurrent updates of ordered index in cluster may fail

covered with unit testing the proper editor delivery from provider.
OAK-1717 Concurrent updates of ordered index in cluster may fail

added coverage for the propertyNames setting.