message: add smart constructor for State
diff: @@ -58,6 +58,9 @@ pub struct State<T: AddrLookup> {
  }
  impl <T: AddrLookup> State<T> {
  + pub fn new(ptr: StatePtr, lookup_struct: T, utxos: Utxos) -> Self {
  + State { ptr, lookup_struct, utxos }
  + }
  /// update a given state with a set of blocks.
  ///
  /// The blocks need to be in blockchain order,
  