[libc++] Instantiate hash function externally (#127040)

This has multiple benefits:
- There is a single instance of our hash function, reducing object file
size
- The hash implementation isn't instantiated in every TU anymore,
reducing compile times
- Behind an ABI configuration macro it would be possible to salt the
hash

NOKEYCHECK=True
GitOrigin-RevId: 17d05695388128353662fbb80bbb7a13d172b41d
14 files changed