If we didn't get an element, return a 404 response.
Extracted ElementAccessors into a classes put in the new accessors package.
Add accessors to private packages.
Moved ElementAccessor to accessors package.
Introduced JSONNodeContent as parent of both JSONMixin and JSONNode to be able to deserialize mixin more easily since in PUT scenario, mixins use properties and children content model that JSONNode also supports.
Added setter for name.
Throw an exception if we encounter an unknown operation.
Added ElementsProcessor to gather common processing of the elements we want to access.
Added initial special processing for mixin creation. Still needs work.
Move unescaping to ElementsProcessor.
Extracted constants for operation names.
Renamed CREATE to CREATE_OR_UPDATE and changed value to reflect the fact that the same operation will deal with creation or update depending on the existence of the target node.