Instead of simply string matching a line, we now traverse the packet as
a tree and match the path based on a depth first search.
While traversing, we support logical OR and current depth * wildcard
processed as a component based query expression.
Callee's are adjusted to specifically select the appropriate Issuer at
the correct depth.
Fixes#185
libkeyringctl/{keyring,sequoia,util}.py:
As Iterable and Iterator are only used for type hints, switch to using
typing.{Iterable,Iterator} instead of
collections.abc.{Iterable,Iterator} for Python < 3.9.0, as older Python
interpreters will otherwise raise TypeError.
This moves all verify code to an own module and adds support to check
all packet files in the structure for integrity. This is done by parsing
assumptions like packet kind, type, issuer and location etc.