add ReplyChannels[T] to model fully polymorphic channel forwarding

this enables

class F[T <: ChannelList : TypeTag](t: ChannelRef[T]) extends Channels[T] {
  channel[T] { (x, snd) => x -?-> t -!-> snd }
}

which can then be extended to bunching, filtering, transforming of
message streams.