(PUP-1133) Windows tests write config to temp

 - Previously tests were writing to the shared
   %ALLUSERSPROFILE%\PuppetLabs\puppet directory, and would blow
   up if this directory did not exist
 - Because this directory was shared from one run to the next, failing
   tests could be masked by data generated / used by a locally installed
   Puppet
 - The stubbing of FileSystem::File.exist? to return true was causing
   some tests to treat files like c:\dev\null\foo to attempt to be
   loaded, which would cause these tests to fail in isolation, but not
   when run within the suite
 - Had to change some doc specs under Ruby 1.9 / OSX to verify a value
   instead of asserting a method was called, to prevent a stack overflow
 - In some unit tests, the process of reading / writing settings caused
   issues with test loading, so Puppet.settings.use has been stubbed
(PUP-1133) Reset permission on Windows test files

 - Previously some security tests manipulated file permissions in
   a way that made it impossible for the top-level spec temp file
   cleanup to be performed.  This patch resets the files after runs.
(PUP-1133) Clean up leftover parser generate temp

 - Files were created without going through tmpfile as they needed
   specific extensions
(PUP-1133) Cleanup Windows symlink

 - Windows symlinks, when targeted at directories, do not get cleaned up
   if not unlinked, even when going through the global tmpfile
(PUP-1133) Cleanup after Rails temp log files

 - With Rails code that establishes a logger that writes to a temp log
   file, the logger must be closed to release the file for cleanup on
   Windows, without having access denied messages
Merge pull request #2173 from Iristyle/ticket/master/pup-1133-windows-allusersprofile-test-fails

PUP-1133 Windows test failures / extraneous temp files