(#19447) Puppet::FileSystem::File#stat / lstat

 - All calls to File class stat / lstat go through the new
   FileSystem::File abstraction so that the implementation can later
   be swapped for a Windows specific one to support symlinks