maybe clearenv on windows

Windows requires a set of environment variables to function properly. This PR adds a whitelist of default environment variables that will get saved, and then preserved on Windows so that tests will work properly.

Without proper environment variables, standard packages such as "os" will sometimes fail, leading to packages failing because no temporary directory/file could be created.

ex on windows:
```Go
package main

import (
	"os"
	"fmt"
)

func main() {
	fmt.Printf("Tempdir: %s", os.TempDir())
	os.Clearenv()
	fmt.Printf("Tempdir after Clearenv(): %s", os.TempDir())
}
```