changed node type initialization to happen immediately instead of lazy, correctly initialized the empty super types as nt:base now, fixed canAddChildNode() to handle the protected property correctly (recaptured to use processApplicableChildNodeTypes() callback now that allows that)