fixed keyring-related memory leaks

to test:

1. build `serval-crypto` against this version of `serval-dna`
2. make sure `servald` is running, and has only one key in its keyring
3. With Valgrind, run either the signing function (`valgrind --leak-check=yes --show-reachable=yes ./serval-crypto --sign -i <SID> -m <MSG>`) or verify function (`valgrind --leak-check=yes --show-reachable=yes ./ serval-crypto --verify -i <SID> -m <MSG> -s <SIG>`).
4. Valgrind should report 0 bytes {definitely,indirectly,possibly} lost (though there will be some blocks still reachable).