(#19447) Puppet::FileSystem::File.unlink

 - All previous File.unlink calls go through the new FileSystem::File
   abstraction so that the implementation can later be swapped for a
   Windows specific one to support symlinks
Merge branch 'ticket/master/19447-windows-symlinks-unlink-abstraction'

* ticket/master/19447-windows-symlinks-unlink-abstraction:
  (#19447) Puppet::FileSystem::File.unlink

Closes GH-2063
(#9546) Apply the permissions fix to Solaris as well.
(#9546) Fix comment and assert msg to match behavior change.
(#9546) Apply the permissions fix to Windows as well.
(#9546) Factor out the tar command to de-dup solaris vs gnu tar impls
(#9546) Fix up the solaris gtar spec