Support IO.copy_stream from a pipe IO instance.

IO.copy_stream fails when the IO instance is backed by a pipe, as seek is not
supported on the underlying pipe.

This change required some modification to the copy_stream_spec, I'm open to
suggestions if there's a more preferred way of structuring the spec.