OAK-1768: DocumentNodeBuilder.setChildNode() runs OOM with large tree

Work in progress:
- Introduce different types of branch commits (regular and rebase commit) to reduce memory usage of a rebase
- Better hide UnsavedModifications as an implementation detail

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1624993 13f79535-47bb-0310-9956-ffa450edef68
OAK-1915: TarMK failover 2.0

Added test cases, improved client recovery from crashes, tweaked OSGi config handling.


git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1624994 13f79535-47bb-0310-9956-ffa450edef68