Move to ParallelMatcher API

This also gets us some nice ancillary API improvements, such as the moving of
various functions into the CollectingMatcher.