OAK-593: Segment-based MK

Some updates to the design document to make it better reflect current state

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

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1457687 13f79535-47bb-0310-9956-ffa450edef68
Add more missing license headers

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1457692 13f79535-47bb-0310-9956-ffa450edef68
OAK-37: Use nullability annotation to enforce/document API contract

Upgrade to newer Findbugs version to avoid http://sourceforge.net/p/findbugs/bugs/1043/

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1457701 13f79535-47bb-0310-9956-ffa450edef68
OAK-698: Optimize handling of empty node states
- Return immediately after special case

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1457756 13f79535-47bb-0310-9956-ffa450edef68
OAK-673: Unified hook processing

Add enter/leave methods in Editor to allow pre-/postprocessing of changes before/after the content diff

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1457791 13f79535-47bb-0310-9956-ffa450edef68
OAK-411: Validator for node type management

Change the type registration validator into an editor that also compiles the property and child node definitions into a more conveniently accessed structure.
Extend type validation to cover more cases.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1457846 13f79535-47bb-0310-9956-ffa450edef68
OAK-619 Lock-free MongoMK implementation (fixes child list caching)

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1458181 13f79535-47bb-0310-9956-ffa450edef68
OAK-701: Optimize Session.getNamespacePrefixes()

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1458183 13f79535-47bb-0310-9956-ffa450edef68
OAK-411: Validator for node type management

Major optimization of type validation using precompiled type information

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1458219 13f79535-47bb-0310-9956-ffa450edef68
Merge branch 'trunk' of github.com:apache/jackrabbit-oak into trunk