This updates `codex exec` so that, by default, most of the agent's activity is
written to stderr so that only the final agent message is written to stdout.
This makes it easier to pipe `codex exec` into another tool without extra filtering.
I introduced `#![deny(clippy::print_stdout)]` to help enforce this change and
renamed the `ts_println!()` macro to `ts_msg()` because (1) it no longer calls
`println!()` and (2), `ts_eprintln!()` seemed too long of a name.
While here, this also adds `-o` as an alias for `--output-last-message`.
Fixes https://github.com/openai/codex/issues/1670