Handle EPIPE in pipe implementation.

It's very usefull to handle service's disconnections.
Change ring buffer in WritableStream.

Now messages stored as list elements. Such storage prevents excessive copying,
and allows in case of a network failure, forward messages that are not sent.
Besides, the data is sent fixed portions approximately 640 KB,
which prevents the copying of large lists when you run a slice.