These are the stream equivalents to `std::iter::Iterator::sum()` and
`std::iter::Iterator::product()`.
Note that this changeset tweaks the `Stream::Sum` and `Stream::Product`
traits a little: rather than returning a generic future `F`, they return
a pinned, boxed, `Future` trait object now. This is in line with other
traits that return a future, e.g. `FromStream`.