Only use mixture components with nonzero probability to compute moments.

This is very useful in cases where a mixture component has moments that are NaN or Inf e.g. `Truncated(Normal(), 10, Inf)`.  Previously, a mixture with such a zero-probability component would also have moments that were NaN or Inf.
Doesn't this need to be `d.probs[i]`?