Change Selector
Remove unused Engine#add_rule
Rename #as_hash to #raw
Simplify Selector interface
Append and Move rules follow similar style to Delete
Remove Node#find, and replace Node#all with Node#find_all
Remove logic in find_all methods with special cases for empty keys
wip: ArrayNode and HashNode should just use the underlying array or hash
Don't require delete to give a Node object
Don't coerce appended node to ArrayNode to raw form
Underlying object for HashNode and ArrayNode is always raw
Remove untested guards in initialize methods for Nodes
Array and Hash Nodes delegate to underlying object
simplify how ArrayNode finds nodes, and raise an error if deleting from aArrayNode with ambiguous criteria
More consistency in style between different Rules