(#7244) Add a Tempfile.open that unlinks tempfile early

Tempfile.open, at least under Ruby 1.8, only does a File#close;
File#unlink is deferred to a lambda that executes in a finalizer when
the file is garbage collected.  This can lead to issues, as it did with
Puppet::SSL::AutosignCommand code, where root opens a tempfile, and
the finalizer doesn't happen until after we've dropped
privileges...leading to an almost impossible to find permission failure.

This commit adds a Puppet::FileSystem::Tempfile with an open that
ensures we close and unlink before returning to the caller.  And we
update the autosign_command code to use it.
Merge branch 'maint/7244/add-tempfile-open-for-autosign'

* maint/7244/add-tempfile-open-for-autosign:
  (#7244) Add a Tempfile.open that unlinks tempfile early
Merge branch 'master' of https://github.com/puppetlabs/puppet