message: add ability to sum Value with an Iterator
diff: use chain_core::property;
  use std::ops;
  +use std::slice::Iter;
  /// Unspent transaction value.
  #[cfg_attr(feature = "generic-serialization", derive(serde_derive::Serialize))]
  @@ -10,6 +11,13 @@ impl Value {
  pub fn zero() -> Self {
  Value(0)
  }
  +
  + pub fn sum<I>(values: I) -> Result<Self, ValueError>
  + where
  + I: Iterator<Item = Self>,
  + {
  + values.fold(Ok(Value::zero()), |acc, v| acc? + v)
  + }
  }
  #[derive(Debug, Copy, Clone, PartialEq, Eq)]
  