(MODULES-1576) Use Puppet FileSystem abstraction for symlinks to support Windows

 - FileUtils::ln_sf is equivalent to FileUtils::ln_s and
   FileUtils::symlink, which are unfortunately broken in Windows through
   at least Ruby 2.0.  In Puppet we have a FileSystem class that
   provides a similar abstraction, but fixes all of the methods that
   are broken on Ruby for Windows.