Add the commands to install OSX.
fixup merge conflicts
Get OSX installation working for realz

Previously we were using the passed in version for the versions of puppet
and its dependencies. This adds :facter_version and a :hiera_version keys
so that we can install those dependencies explicitly on platforms that we
must. It also adds the `-pkg` opt to the installer command to work on
newer OSXs.

Signed-off-by: Justin Stoller <justin@puppetlabs.com>
Provide default gem installation

This allows the `install_puppet` command to accept an additional parameter
`:default_action` which, if set to 'gem_install' will attempt to install
puppet from gem if it cannot otherwise install puppet. The default for
:default_action is still to fail hard.
Use specified versions if possible

Previously we allowed passing :version, :facter_version, and/or
:hiera_version to `install_puppet` but only respected `:version` with
windows and osx, and the others only on osx. This will attempt to
install the versions specified for any package specified. The version
information is still optional on linux machines, and there is no way for
us to respect the dependency versions on windows (since our windows
package is an omnibus package).
update documentation
This fixes small bugs within the install_puppet method
Fixup windows support for FOSS

Previously the PATH for windows was only being set to include executables
from git repos, not executables installed from native packages. This
includes the default installation path for native windows packages in the
FOSS command creation.
fixup test
add tests for new install_puppet functionality
Refactor `puppet_install`

This changes the `puppet_install` function to be more readable and reduce
code duplication. It does not change any behavior.
Improve documentation for Open Source installation methods
Merge pull request #299 from justinstoller/update-to-install_puppet

(QENG-{768,769,771}) Update to `install puppet`