Fix Interactive container hangs when redirecting stdout

Fixes #6509
Closes #7658

This is a rebase of #7658 + tests. Thanks @VojtechVitek !

I even tested the `events` test with one commit before the #5979 PR and it failed. So all 3 are needed.

Ping @erikh @jfrazelle
@VojtechVitek Thanks, I prefer `isTerminalIn` and `isTerminalOut`, since `isInTerminal` can be confusing. Let me know when you updated your branch.