Rename recursively field names in nested structure without changing the structure

Not in the mood to write code on Thanksgiving, but take a look at this function. It recursively works its way through an event, including hashes and arrays, and keeps track of what the thing it is working on is called, which would allow you do something like

event.set("#{name}_null", event.remove(name))