Change the UnixStream interface so that close_write on a variable prevents (at compile time) future attempts to write to that variable.

This is also true for close_read.

Note that UnixStreams cloned from a variable on which close_* is called are not affected by this change. They have the same interface as before, in which reads and writes may fail due to the underlying stream being closed for that operation.