ref: cd38454fdf9fbb4c51ccaadbaf43266f3044be1d forest-go/store d---------
feat: gracefully handle corrupt nodes in groves

The grove type now allows applications to provide a hook that will
be invoked when a corrupt node is discovered. Additionally, the grove
type now attempts to recover from corrupt nodes by deleting them
wip(store): initial work on subtree removal
feat: suppress extra archive notifications

Previously, archive.Add-ing a node would *always* send a
notification to all subscribers, but this behavior wasn't
relied upon anywhere. It's much more useful if the notification
is only sent when the node is not already in the archive, so
this commit changes the behavior to enforce that.
feat: simplify Archive implementation
feat: reorganize Store implementations into new package