(#19447) check Puppet.features.manages_symlinks?

 - Replace calls to the specific :file provider with the global
   Puppet.features call
(#19447) Rewrite symlink tests for file type

 - These old tests haven't been running since 2010 due to how RSpec was
 setup, and were incorrect
 - Rewrite to let Puppet manage file content, and clean up for better
 readability / maintainability
Maint: Re-word doc string for file type's ensure property

This commit makes the Windows situation with symlinks a bit more clear, and
hopefully clarifies the available values in general.