Implement guards in integration testing tool
Implement guards in integration testing tool

Guards provide a way to control what gets executed at the steps
level. Instead of adding a condidion that determines if a test
can be run at all, one can use a guard within the list of steps
to specify conditional early completion if the guard condition
is not fulfilled.

For example:
```
steps:
  - command: import zeek
    input: conn.log.gz
  - guard: 'import -h 2>&1 | grep -q pcap'
  - command: -N import pcap
    input: example.pcap.gz
```
can be used to prevent the second step if the `vast` binary under
test was compiled without PCAP support.

vast-io/vast,vast-io/vast,vast-io/vast,vast-io/vast,vast-io/vast