Introduced a data structure for Invoked

The data structure is similar to the file format read by Invoked but richer:
the file format only allows to specify a command and the expected stdout. The
data structure allows to specify exit code, stdout, and stderr.

It is planned that expected stdout and stderr can be captured with regexes, and
the captured values can be injected in the expected stdout and stderr of the
next job.

Actually, such values will be provided as part of an Intake workflow
environment and made available to all jobs. Thus, Invoked will just be a
particular type of job, just as Retry or Parallel.