add raw find-and-modify!

Expose the raw functionality to support complex cases, rather than building more and more variations on set-fields!, unset-fields!, push!, pull!, etc.