Break out rules in to separate files
make match a more legit value object
Add rule for turning a key in to an array
Clean up root node matching logic
a little more coverage around finding nested keys
Factor out slice nonsense