Moved json package one level up to prepare for extraction into separate module.
Moved representation name to new JSONConstants class.
Removed now unneeded URI parameter in JSONNamed.
Extract names un-/escaping to new Names class.
Extracted JCR session access to a new SessionAccess in json.jcr package. Adapted PowerMock set up to mock SessionAccess instead of API.
Moved generation of type path generation to JSONLinkable since it's only needed to generate links.
Added logger to JSONConstants that the package can use to log messages.
Introduced APIObjectFactory to make sure the whole API implementation uses the same implementation and a single instance.
Moved APIObjectFactory to json package.
Make getFactory methods return APIObjectFactory instead of more generic version.
Created APINode sub-class of JSONNode to extract asJSONString method.
Extracted JSON generation into separate module (for now, simply a jar, not a real Jahia module yet).