Bug-fix Pattern Match engine

When reusing the same C++ instance for a second, third, etc. match, the precious state was not being cleared, leading to .. an ugly bug.  Fix the bug, add a test for it.