KeyBuilder refactoring #10
Matcher refactoring #9

* preliminary work: folding CayenneMatcher into Matcher