Give `DataStream` and related streams a associated Arc-ed StreamMeta type.
We want the AsyncRead
and AsyncWrite
views of a DataStream to be owned by e.g. the SOCKS implementation, and not shared by anything else. But we want a third view that can be used to examine the stream's status, to see it when we're enumarating streams, and other RPC-related operations. For that, we probably need a new Arc<StreamInfo>
or Arc<StreamMeta>
type.