Allow to use self reference (`_`) in the `if` key
#877 give me an idea, that is will be worth to use `_` (self-reference) in the `if` key:
```yaml
seq:
  - id: predictor
    type: u1
    if: _ == 42
```
This should generate code that use lookahead parsing and then inspects the results and or saves the result or drop it. Currently this can be implemented (with some limitations due to the #709) as
```yaml
seq:
  - id: predictor
    type: u1
    if: predictor_lookahead == 42
instances:
  predictor_lookahead:
    pos: 0 # position actually depends on the enclosing type in the point of application
    type: u1
```
Also one could want that lookahead will work even if in the normal case the type can not be parsed in this position. So key, controls behavior of parse errors during lookaheads, can be introduced
```yaml
seq:
  - id: predictor
    size: 20
    if: _[0] == 42
    # if "allow" then parser should work nicely even on inputs shorter than 20 bytes
    # if "forbid" then not
    # "allow" should be default
    lookahead-error: allow # or "forbid"
```