Add ability to override default system confdir and vardir

Without this patch it's difficult to change the behavior of determining the
default confdir and vardir settings.  This is a problem because it's difficult
to relocate Puppet which is necessary in certain cases, such as Puppet
Enterprise and our Ops team using /etc/operations/puppet as the default
confdir.

This patch exposes a public API to allow third party tools to easily determine
the file to write to override the default confdir and vardir. The API method is
Puppet::Util::RunMode.override_path(type) where type is either "confdir" or
"vardir"  An anticipated use case is that a simple rubygems plugin gem could
register a post_install hook to write an override file which will relocate
puppet.

A path relative to the gem source file has been chosen to facilitate multiple
copies of the Puppet library being installed and relocated to their own
isolated paths or gemset.