KTEST: Support alternative krun executable. Issue #396

An alternative krun executable can be provided by using the additional ```<krun-exec>``` node. This option is useful especially for running ```kast``` instead of ```krun``` for certain programs. (See Issue #396.)

@dwightguth @osa1 Please review this code.
@radumereuta Please check if this change is sufficient for you.

CHANGES:
 * Create additional ```<krun-exec>``` node (optional) in both ```<all-programs>``` and ```<program>``` nodes.
 * Allow multiple programs in the ```name``` attributes of ```<program>``` node.

USAGE:
```
  <test
    definition="lang.k"
    programs="programs"
    results="results"
    extension="lang"
  >
    <all-programs>
      <krun-option name="--color" value="off" />
      <krun-option name="--output" value="none" />
    </all-programs>
    <program name="pgm1.lang pgm2.lang">
      <krun-exec name="kast" />
    </program>
  </test>
```

LIMITATIONS and CONCERNS:
 * The name of the additional node ```krun-exec``` might be inappropriate.
 * Currently, an alternative krun executable should reside in ```KHOME/bin``` directory as ```kompile```, ```krun```, and ```kast```.
 * It would be better to come up with a more general solution that also solves the issue #392.