OAK-924: Optimize namespace lookups

Make LocalNameMapper a concrete class with a direct Map<String, String>
member variable that contains the local namespace remappings

Make SessionNamespaces extend from LocalNameMapper to streamline
access to namespace mappings. Also streamline the NamespaceRegistry classes.

Drop the snapshot mapping and the NamespaceRegistry references from
SessionNamespaces and instead use direct content lookups. With the
new content structure this is no longer slow like it used to be.

Synchronize access to all name mapping methods to avoid possible
concurrency issues

Treat the default empty namespace as a given, so it doesn't need
to be stored in the namespace registry

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

Make the regex pattern static to avoid repeated compilation

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