doit.zsh runs with errexit, nounset

it's safe to use errexit as long as the code remains
linear and uses no functions.
--immediate runs doit.zsh immediately

this restores the original behavior, except doit.zsh and
syslinux.cfg are left behind.  i'm undecided if that is
a feature or a bug, it makes no practical difference anyway.
slightly improved outputs

plus explicit close of the descriptor for doit.zsh.