Add test case with large set of type combinations for ternary operator.

  This basically tests all type combinations for the "?" operator,
and correct all regressions found. Any possible remaining problem
is unrelated to the "emit_question" implementation, but a problem
elsewhere.