implement new fetch syntax

introduces a new fetch syntax for paths:

a) match/unmatch are gone
b) wildcards are gone
c) always add the "path" key to the fetch expression if required

```JSON
{
  "method": "fetch",
  "params": {
    "path": {
      "equals" : "foo",
      "equalsNot": "bar",
      "contains": "f",
      "containsNot": "x",
      "containsAllOf": ["f","o"],
      "containsOneOf": ["fo","oo"],
      "containsNoneOf": ["bar","bie"],
      "startWith": "f",
      "endsWith": "o",
      "equalsOneOf": ["foo","bla"],
      "caseInsensitive": false
    }
  }
}
```

Maybe this "predicates" will become more...
The fetching based on values should have similar syntax.