flux-start: exit with maximum exit code of children

flux-start currently always exits with 0 status which makes it
impossible to tell if a test run under flux-start actually passed
or failed.

This patch saves the largest return code from all children and
uses that as the exit status for flux-start. (signals are indicated
by the standard 128 + signum). This only applies to "start_direct",
since otherwise flux-start directly execs the launcher (i.e. srun).