std.cache_hash: additionally use file size to detect modifications
std.cache_hash: additionally use file size to detect modifications

I have observed on Linux writing and reading the same file many times
without the mtime changing, despite the file system having nanosecond
granularity (and about 1 millisecond worth of nanoseconds passing between
modifications). I am calling this a Linux Kernel Bug and adding file
size to the cache hash manifest as a mitigation. As evidence, macOS does
not exhibit this behavior.

This means it is possible, on Linux, for a file to be added to the cache
hash, and, if it is updated with the same file size, same inode, within
about 1 millisecond, the cache system will give us a false positive,
saying it is unmodified. I don't see any way to improve this situation
without fixing the bug in the Linux kernel.

closes #6082

raulgrell/zig,zig-lang/zig,zig-lang/zig,raulgrell/zig,zig-lang/zig,andrewrk/zig,raulgrell/zig,raulgrell/zig,raulgrell/zig,andrewrk/zig