Do shell expansion for output lines (|, @ and ?), so that it is possible to
evaluate arbitrary shell expressions.
Other fixes included:
- Don't assume ksh is in bin.
- Eval commands using the standard shell instead of ksh.
- Make sure we delete temp files; also avoid creating a temp file per line.
- Don't print ? output if return status is 0.
- Fix literal \? match when evaluating lines.
The `-p` option is only available in OpenBSD. As there's no standard
way of ignoring lines by prefix, use `par`, which at least will be
installable almost everywhere.