Generates the app's host control script from the :ctl description in
its mix.exs (Macaw.Host.Ctl.Description) and its own commands
(Ctl.AppCommands, in ctl/app_commands.ex by default).
mix macaw.host.ctl # write the script (mode 0755)
mix macaw.host.ctl --check # fail if the committed script differs--check is for CI: it regenerates in memory and exits non-zero naming
the first line that differs, so a script edited by hand, or a generator
or app commands changed without regenerating, never ships.