helper: Define new-style command line syntax.

The old syntax, inherited from when this used to be a shell script,
was a little bit crazy, eg:

  supermin-helper -f ext2 supermin.d x86_64 kernel initrd root

where 'supermin.d' is an input, and 'kernel', 'initrd' and 'root' are
outputs (files overwritten if present) and 'x86_64' should really be a
flag.

This commit defines a new-style syntax.  In the new-style, the same
command would be written:

  supermin-helper -f ext2 --host-cpu x86_64 supermin.d \
    --output-kernel kernel --output-initrd initrd --output-appliance root

The new-style syntax also allows you to define an output directory and
lets you omit the host-cpu (if it's the same as the compile
architecture, which is almost always true), so:

  supermin-helper -f ext2 supermin.d -o /tmp

(which would write /tmp/kernel etc.)

The old-style syntax is still supported for backwards compatibility.

This also adds a currently non-functional --dtb parameter /
SUPERMIN_DTB environment variable for specifying how to search for
device trees, which is the motivation for this change.
helper: Implement --dtb / device tree search.

For architectures such as ARM which require a device tree, this
implements a supermin-helper --dtb option which can be used to search
for a device tree file matching a wildcard.

Usage example:

  supermin-helper -f ext2 --dtb 'vexpress-*a9' supermin-d -o /tmp

would find a suitable dtb and symlink it as /tmp/dtb (or exit with an
error is none could be found).
helper: Better debug messages showing parsing of command line arguments.
Version 4.1.5.