Added support of creating a hardlink from one file to another file.
After a hardlink is added between two files, both file will have the same:
- UniqueID (inode)
- Size
- Buffer
This will bring replay of compilation closer to the actual compilation. There are instances where clang checks for the UniqueID of the file/header to be loaded which leads to a different behavior during replay as all files have different UniqueIDs.