Deduplicate DAG nodes by (pkg, universe) instead of layer hash
Check (pkg_string, universe_string) before computing the expensive
layer_hash. Universe comparison is cheap (hash of dep name.version
strings), while layer_hash reads opam file contents. For 17k
solutions with heavy overlap, most nodes are already seen and
skip the hash computation entirely.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>