Remove restriction on package_ensure and conditionally require puppetlabs-products repo

* Allow package_ensure to be any value to match allowed values for Package type and to allow specifying specific versions
* Add manage_puppetlabs_repo parameter to conditionally require Yumrepo[puppetlabs-products] before installing facter
* Added dependency for module stahnma/puppetlabs_yum

This is likely not best way to handle the dependency on the puppetlabs repo, but the removal of restriction on values for `package_ensure` would be very useful to ensure specific versions are installed across servers.