Added a close method for pipes.
Bug fix: Protect against buffer underflow eof.
EOF were being reported whenever the output buffer was emptied. This is now
Bug fix: proper blocking on read-char and read-line
Refactor: factor the pipe shuttling into its own function.
Bug fix: Fixed improper end of file handling.
Initial commit. I think it is working.