Various test setup fixes

Specifically updates our usage of `install_puppet()` to a) specify
version numbers (allowing installation on platforms that have native
packages but no native dependency resolution) and b) default to
installing from gem if no other installation candidate exists for the
platform.

We also update the creation of a hiera.yaml file to use `echo '' >`
instead of `touch` because touch puts in a newline that is encoded in
such a way on Debian 7 as to be unparsable by Ruby's YAML parser.

And finally we ensure we are setting these and other prerequisites
(stdlib) on all hosts, not just the default.