(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