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.
#include <addrman.h>
#include <addrman_impl.h>
#include <hash.h>
#include <logging.h>
#include <logging/timer.h>
#include <netaddress.h>
#include <protocol.h>
#include <random.h>
#include <serialize.h>
#include <streams.h>
#include <tinyformat.h>
#include <uint256.h>
#include <util/check.h>
#include <util/time.h>
#include <cmath>
#include <optional>
static constexpr uint32_t ADDRMAN_TRIED_BUCKETS_PER_GROUP{8};
static constexpr uint32_t ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP{64};
static constexpr int32_t ADDRMAN_NEW_BUCKETS_PER_ADDRESS{8};
static constexpr auto ADDRMAN_HORIZON{30 * 24h};
static constexpr int32_t ADDRMAN_RETRIES{3};
static constexpr int32_t ADDRMAN_MAX_FAILURES{10};
static constexpr auto ADDRMAN_MIN_FAIL{7 * 24h};
static constexpr auto ADDRMAN_REPLACEMENT{4h};
static constexpr size_t ADDRMAN_SET_TRIED_COLLISION_SIZE{10};
static constexpr auto ADDRMAN_TEST_WINDOW{40min};
int AddrInfo::GetTriedBucket(const uint256& nKey, const NetGroupManager& netgroupman) const