Replace Evaluator.{in out} with .ports.

The limit of redirections on fd>=2 is removed. The superfluous ports argument
to builtin function implementations is also removed.
Better printing of external wait status