message: Using delivery_times as timestamps in highway_testing.rs
  In the test system for highway, message delivery times are used in the
  place of `Timestamp::now()` to ensure determinism.
diff: @@ -340,7 +340,7 @@ where
  message.payload(),
  );
  - let messages = self.process_message(rng, recipient, message)?;
  + let messages = self.process_message(rng, recipient, message, delivery_time)?;
  let targeted_messages = messages
  .into_iter()
  @@ -410,6 +410,7 @@ where
  rng: &mut dyn CryptoRngCore,
  validator_id: ValidatorId,
  message: Message<HighwayMessage>,
  + delivery_time: Timestamp,
  ) -> TestResult<Vec<HighwayMessage>> {
  self.node_mut(&validator_id)?
  .push_messages_received(vec![message.clone()]);
  @@ -426,7 +427,7 @@ where
  })?
  }
  HighwayMessage::NewVertex(v) => {
  - match self.add_vertex(rng, validator_id, sender_id, v.clone())? {
  + match self.add_vertex(rng, validator_id, sender_id, v.clone(), delivery_time)? {
  Ok(msgs) => {
  trace!("{:?} successfuly added to the state.", v);
  msgs
  @@ -504,6 +505,7 @@ where
  recipient: ValidatorId,
  sender: ValidatorId,
  vertex: Vertex<TestContext>,
  + delivery_time: Timestamp,
  ) -> TestRunResult<Vec<HighwayMessage>> {
  // 1. pre_validate_vertex
  // 2. missing_dependency
  @@ -519,7 +521,7 @@ where
  .pre_validate_vertex(vertex)
  {
  Err((v, error)) => Ok(Err((v, error))),
  - Ok(pvv) => self.synchronize_validator(rng, recipient, sender, pvv),
  + Ok(pvv) => self.synchronize_validator(rng, recipient, sender, pvv, delivery_time),
  }
  }?;
  @@ -564,6 +566,7 @@ where
  recipient: ValidatorId,
  sender: ValidatorId,
  pvv: PreValidatedVertex<TestContext>,
  + delivery_time: Timestamp,
  ) -> TestRunResult<(PreValidatedVertex<TestContext>, Vec<HighwayMessage>)> {
  // There may be more than one dependency missing and we want to sync all of them.
  loop {
  @@ -577,7 +580,8 @@ where
  match validator.highway().missing_dependency(&pvv) {
  None => return Ok(Ok((pvv, messages))),
  - Some(d) => match self.synchronize_dependency(rng, d, recipient, sender)? {
  + Some(d) => {
  + match self.synchronize_dependency(rng, d, recipient, sender, delivery_time)? {
  Ok(sync_messages) => {
  // `hwm` represent messages produced while synchronizing `d`.
  messages.extend(sync_messages)
  @@ -587,7 +591,8 @@ where
  // We must stop the synchronization process and return it to the caller.
  return Ok(Err(vertex_error));
  }
  - },
  + }
  + }
  }
  }
  }
  @@ -604,6 +609,7 @@ where
  missing_dependency: Dependency<TestContext>,
  recipient: ValidatorId,
  sender: ValidatorId,
  + delivery_time: Timestamp,
  ) -> TestRunResult<Vec<HighwayMessage>> {
  let vertex = self
  .node_mut(&sender)?
  @@ -613,7 +619,7 @@ where
  .map(|vv| vv.0)
  .ok_or_else(|| TestRunError::SenderMissingDependency(sender, missing_dependency))?;
  - self.add_vertex(rng, recipient, sender, vertex)
  + self.add_vertex(rng, recipient, sender, vertex, delivery_time)
  }
  /// Returns a `MutableHandle` on the `HighwayTestHarness` object
  