install puppet when running against foss

Prior to this we weren't install puppet before running the tests on Open Source test runs, now we install whatever version of Puppet is specified in the env var "PUPPPET_VERSION" or fall back to '3.6.2' (the latest at the time of writing). We also accept falling back to a gem install, and make sure that the module dir exists if we do.