Refactor StreamExt#forward type bounds
Refactor StreamExt#forward type bounds

This makes the bounds easier to understand in documentation
by removing bounds referring to each other.

Previously, the bounds in documentation appeared as such:

    S: Sink<Self::Ok>,
    Self: TryStream<Error = <S as Sink<Self::Ok>>::Error>,

This changes them to the following simpler to understand form.

    S: Sink<Self::Ok, Error = Self::Error>,
    Self: TryStream,

alexcrichton/futures-rs