Allow hashing FileEntryRef and DirectoryEntryRef via hash_value, and
use that to implement DenseMapInfo. This hash be equal whenever the
entry is the same (the name used to reference it is not relevant).
Also added DirectoryEntryRef::isSameRef as a drive-by to facilitate
testing.
Nit: would it make sense to avoid copy-pasting the constructor logic here (llvm::DenseMapInfo<const MapEntry *>::getEmptyKey()) and call the constructor instead?
For example: isSameRef(DirectoryEntryRef(dense_map_empty_tag{})).
The same goes for FileEntryRef.