Add post_install hook skeleton

This is in preparation to support post_install in addition to
pre_install hooks when modifying the behavior of Puppet during
installation.
Create PuppetWrapper::Installer class to install the wrapper

This class will hold all of the behaviors associated with actually
modifying the behavior of Puppet's default system confdir and vardir.
This commit introduces the basic class without much implementation.
Add fixtures for Gem::Installer instances
Add Apache 2.0 license text
Add YARD dependency for documentation
Add ability to overwrite the binstub

This patch adds the ability to overwrite the binstub when Puppet is
installed.  It doesn't yet relocate Puppet's default confdir and vardir
but it does provide the capability to replace the binstub file if
necessary.

Looking longer term, I don't think we should actually replace the
binstub but should instead use the Puppet::Util::RunMode.override_path()
public API to obtain a file path for an override file that could be
written to relocate the default confdir and vardir once puppet is
installed.

For versions of Puppet that do not support this API I think we should
continue with patching run_mode.rb so Puppet continues to operate as a
library.
Rename PuppetWrapper to PuppetTransplant