Correct the stdio functions

Sketch for stdin, stdout and stderr. Less specific stdout/stderr
functions will catch the more specific stdout/stderr messages.

For example:

    stdout(Port)

Will match any messages intended for:

    stdout(Port, [Pid0])
    stdout(Port, [Pid0, Pid1])
    stdout(Port, [Pid0, Pid1, Pid2])

This is sort of unavoidable because the port could have called execvp()
and become another process, sending streams of data. BUT, the stream of
data would still need to be prepended with a 2 byte length header (unless
the port changes to using streams and manually parses the length
headers).