This adds three new classes:
which allow wrapping a single stream/component pair in an I/O stream
which can be used with the standard GIO functions.
The streams are constructed as wrappers around a NiceAgent, with changes
to the NiceAgent’s properties affecting all instantiated streams.
Streams are only supported for reliable connections.
If the NiceAgent stream which underlies a NiceInputStream,
NiceOutputStream or NiceIOStream is removed, the I/O stream is marked as
This is based on work originally done by Youness Alaoui