Fix and refine fluent interface
Add Matcher.and and .or
Matcher cleanup