Fix the sending of half-closed message pipes (and add test).

A message pipe handle whose peer is known to be closed should be
received in that state (after being sent over another message pipe).
I.e., it should be never-writable. (This didn't work properly before
this change.)

If messages were enqueued to be received by that message pipe handle
(and were available to be read), the handle should be immediately be
readable (and all those messages should be able to be read). (This did
work properly.)

R=yzshen@chromium.org

Review URL: https://codereview.chromium.org/684363002