Fix typo in comment
Verify internal consistency of generated code
Fix typo in usage info
Refactor pipe creation to use written_pipe map
Balance braces
Verify generated code before -o exiting
Mark waited-on pipes as read
Throw internal error instead of dying
Handle scattering to a single target

- Throw warning
- Produce correct (albeit inefficient) code
Correct scatter output pipe numbering

In cases where some commands in the scatter block lacked input,
the command number counter was not advanced when allocating pipes
to sgsh-tee. This caused misallocation of pipe names.

Notable case: example/committer-plot.sh