When `peers.dat` is corrupted an error message is shown: `Invalid or corrupt peers.dat (Checksum mismatch, data corrupted).` then the node restart.

Most of our users aren't really tech enough to manually delete the `peers.dat` files, nor can we detect it for them. It means that this error give us lot's of work on our support team when somebody is impacted.

`peers.dat` isn't an essential file, as such Bitcoin Core should just be fine restarting without crashing.

A bash workaround to detect the checksum mismatch would also considerably help us.
if (!newOnly &&
       (nTried > 0 && (nNew == 0 || insecure_rand.randbool() == 0))) {
        
        double fChanceFactor = 1.0;
        while (1) {
            
            int nKBucket = insecure_rand.randrange(ADDRMAN_TRIED_BUCKET_COUNT);
            int nKBucketPos = insecure_rand.randrange(ADDRMAN_BUCKET_SIZE);
            
            
            int i;
            for (i = 0; i < ADDRMAN_BUCKET_SIZE; ++i) {
                if (vvTried[nKBucket][(nKBucketPos + i) % ADDRMAN_BUCKET_SIZE] != -1) break;
            }
            
            if (i == ADDRMAN_BUCKET_SIZE) continue;
            
            int nId = vvTried[nKBucket][(nKBucketPos + i) % ADDRMAN_BUCKET_SIZE];
            const auto it_found{mapInfo.find(nId)};
            assert(it_found != mapInfo.end());
            const AddrInfo& info{it_found->second};
            
            if (insecure_rand.randbits(30) < fChanceFactor * info.GetChance() * (1 << 30)) {
                LogPrint(BCLog::ADDRMAN, "Selected %s from tried\n", info.ToString());
                return {info, info.m_last_try};
            }
            
            fChanceFactor *= 1.2;
        }
    } else {