fix dependency on matcher

matcher is now in its own package
Pattern and match are so entwined that I think they can be in the same library. I usually do that if I see a tight circular dependency between libraries like these two have.