Three bugs, all found by actually running the thing rather than reading it.
1. `--e10` with no value did nothing. Making the flag optional-valued gave it
an empty-string constant, and the code deciding whether to drive the
controller used a truth test - so the documented `--e10` form printed the
full translation and quietly skipped the hardware. No error, because
nothing failed. Now gated on `is not None`, with a comment saying why.
2. A missing part program dumped a traceback. The top-level handler tidied
e10 errors and re-raised everything else. Now a clean message that lists
the part programs it can actually see, which also covers Windows path
confusion.
3. Errors could vanish when piped. stdout is block-buffered and stderr is
not, so the message printed before the output it referred to and a `| tail`
dropped it entirely - looking like a silent failure. stdout is flushed
before writing an error.