Fix POLLHUP in pipes

The code in pipe_buffer.cc had the meaning of POLLHUP and POLLRDHUP
reversed, and as a result POLLHUP wasn't correctly returned when polling
a read-end of the pipe whose write-end is closed.

This fixes the mixup, and as a result the test added to tst-pipe.cc in
the previous commit, and also another one added in this patch, all pass.

We are still incompatible with Linux with what we do regarding POLLRDHUP.
This will be a separate patch.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>