This PR switches our CI to use a more granular approach to vcpkg binary caching. It uses the GitHub Actions Cache feature of vcpkg to cache individual packages instead of the all-or-nothing blob approach we were using. The huge advantage is that any package that gets properly built gets cached, even if the workflow does fail at some point in time. The other advantage is that we don't need to keep updating our cache keys to try to match the vcpkg ABI mechanism, but can instead let vcpkg do its thing.
This PR switches our CI to use a more granular approach to vcpkg binary caching. It uses the GitHub Actions Cache feature of vcpkg to cache individual packages instead of the all-or-nothing blob approach we were using. The huge advantage is that any package that gets properly built gets cached, even if the workflow does fail at some point in time. The other advantage is that we don't need to keep updating our cache keys to try to match the vcpkg ABI mechanism, but can instead let vcpkg do its thing.