Add support for recursive descent '..' operator in path.

This commit improves the path matching capabilities of JSONStream, by adding a new operator: .. which will match a child at any depth

Ex: The path `docs..value` will match exactly 5 times at various depth levels, yielding 0,1,2,3 and 4 as results.
```
{
  "total": 5,
  "docs": [
    {
      "key": {
        "value": 0,
        "some": "property"
      }
    },
    {"value": 1},
    {"value": 2},
    {"blbl": [{}, {"a":0, "b":1, "value":3}, 10]},
    {"value": 4}
  ]
}
```