OAK-709: Consider moving permission evaluation to the node state level

Properties and child nodes are only iterable if the parent node exists.
Also remove duplicate javadocs by inlining instantiation of internal classes.

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