message: don't execute on-block for speculative blocks if read-mode != speculative
diff: @@ -745,7 +745,8 @@ struct controller_impl {
  auto was_pending_promoted = pending->_pending_block_state->maybe_promote_pending();
  -
  + //modify state in speculative block only if we are speculative reads mode (other wise we need clean state for head or irreversible reads)
  + if ( read_mode == db_read_mode::SPECULATIVE || pending->_block_status != controller::block_status::incomplete ) {
  const auto& gpo = db.get<global_property_object>();
  if( gpo.proposed_schedule_block_num.valid() && // if there is a proposed schedule that was proposed in a block ...
  @@ -783,6 +784,8 @@ struct controller_impl {
  clear_expired_input_transactions();
  update_producers_authority();
  + }
  +
  guard_pending.cancel();
  } // start_block
  