Update dependencies for C++20 and use standard atomics
Update Folly, Eigen, Asio and spdlog for a C++20 MetaGraph build, using the lab Folly fork's jemalloc support. MetaGraph and its consumers require C++20 and CMake 3.19.
Folly and spdlog share one pinned fmt library. Main, common-library and benchmark builds inherit dependency requirements from CMake targets; the lab DYNAMIC and SDSL fixes make their native targets usable when embedded. Installed headers retain the existing supported include paths. The standalone KMC executable is now opt-in with -DBUILD_KMC=ON; reading KMC files remains supported, and the cloud workflow opts in explicitly.
Use std::atomic_ref and typed memory orders. Differential counters retain exact packed storage and use real typed elements at native widths. Packed counters update a single word with masked compare/exchange and lock only when crossing a word boundary. Fix the reverse-complement mask's existing atomicity flag error. No counter payload growth or serialized-index format change.
Update the lab dependency pins, including defined unaligned zlib loads and reconciled SDSL fixes. The ExternalProject example uses CI's prepared checkout, avoiding obsolete recursive submodule fetches.
Validation: main/common/benchmark builds, CMake 3.19/4.4, target-linked and installed-only examples, 25 masking tests, and all 64 packed widths plus four native types under GCC/Clang and ASan/UBSan. Legacy-format compatibility is checked with 384 generated fixtures across v2, previous lab v3 and the updated fork. These are targeted checks; the published head's GitHub matrix remains the cross-platform gate. Installed SSHash header packaging remains a pre-existing limitation.
Review #649 first. #644, #653, #654 and #655 depend on it and are otherwise independent.