message: Don't return an invalid state when shutting down the wallet
  When the shutdown process is started, it is possible that the call to
  `ValidateAccumulatorCheckpoint()` in `ConnectBlock()` will fail. Instead
  of returning an invalid state, which causes the block to pass through
  `InvalidChainFound()`, just return a stateless error if a shutdown has
  been requested.
diff: @@ -3251,9 +3251,14 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin
  // Ensure that accumulator checkpoints are valid and in the same state as this instance of the chain
  AccumulatorMap mapAccumulators(Params().Zerocoin_Params(pindex->nHeight < Params().Zerocoin_Block_V2_Start()));
  - if (!ValidateAccumulatorCheckpoint(block, pindex, mapAccumulators))
  + if (!ValidateAccumulatorCheckpoint(block, pindex, mapAccumulators)) {
  + if (!ShutdownRequested()) {
  return state.DoS(100, error("%s: Failed to validate accumulator checkpoint for block=%s height=%d", __func__,
  block.GetHash().GetHex(), pindex->nHeight), REJECT_INVALID, "bad-acc-checkpoint");
  + }
  + return error("%s: Failed to validate accumulator checkpoint for block=%s height=%d because wallet is shutting down", __func__,
  + block.GetHash().GetHex(), pindex->nHeight);
  + }
  if (!control.Wait())
  return state.DoS(100, error("%s: CheckQueue failed", __func__), REJECT_INVALID, "block-validation-failed");
  