OAK-1013: Node.addNode(name) different behavior from JR if NodeType resolves to an abstract

Allow abstract types to be used in jcr:primaryType and jcr:mixinTypes,
but throw an exception if explicitly passed in addNode(..., type) and
log warnings in other cases.

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