each Field now is responsible for parsing a string and building a Matcher

* when building a Matchers tree, groups with a single child are now flattened
* removed old Searcher trait
* added unit tests for parsing query strings with supported value types