fixed keyring-related memory leaks
Add explicit set did test
Create keyring.h and move definitions there
Refactor keyring searching
Pass key length into unpack function
Add support for adding and updating tags in the keyring
Ensure that invalid subscriber id arguments fail validation
Allow tag primitives to be used outside of keyring entries
Implement id list command