Fix dupe callbacks in VaultAddChildNode

This code called back into the python vault operation thingy, which deletes itself. So, anytime we got dupe CBs, there was a use-after-free error. Nasty crashes. I tightened up the CB management, threw away some weird faux-management mess, and squashed some potential silent bugs.