Distribution.Compat.CopyFile: add filesEqual for comparing contents
Distribution.Simple.Program.Ar: emulate GNU ar's deterministic mode

After invoking ar(1), replace each object file's metadata with zero for the
mtime, UID and GID, and 0644 for the file mode. Do not touch the existing
archive if the contents are the same.