rust: use owned types in `Matcher`
This simplifies the code a lot, allows for some refactoring to come.
The original code tried to prevent allocations that were already happening
anyway beforehand.
# name space package to host third party extensionsimportpkgutil__path__=pkgutil.extend_path(__path__,__name__)