deps: update to latest protonmail crypto
feat(grove): support removing subtrees
wip(grove): implement child cache entry removal
wip(store): initial work on subtree removal
feat(twig): reject values with null bytes in Set
fix(fields): guard against incorrect qualified type lengths
tests(fields): regression test to catch qualifieds with bad lengths
tests: update errNode to new Node interface
Add author and metadata getters to Node interface Validate metadata in shallow node validation
chore: remove unnecessary error handler
Use twig key parser
Add metadata handling

Add twig read/write functionality to node creation

Address feedback

Fix struct accessibility

Address some feedback

Use valid key string

Add Contains and Get functions to sprig data

Use <key>/<version> to add metadata
Update docs

Do propper string splitting and update sanity check
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.
deps: officially switch to golang.org/x/crypto fork
Merge branch 'protonpgp'
deps: switch to protonmail crypto lib fork
feat: simplify Archive implementation
feat: reorganize Store implementations into new package
feat(fields): make SchemaVersion a uint16
bugfix(twig): empty twig data is valid