Rewrite tpsh_lex() to pass | (etc) through to tpsh_cgen().

This should help effort needed to make pipes work again. It may also
lead to & working someday.
Job now has stdin/stdout/fdin/fdout fields.

Before it was just an 'fd' field for fileno'ing a file handle.