(PUP-1433) Add example environment to deb packages

This adds an /etc/puppet/environments/example_env directory,
subdirectories, and a README about the environment. We can't remove the
existing /etc/puppet/manifests directory because it would destroy a
large number of deployments (anyone with automation depending on that
directory being created). We also can't create a production environment
because it would then shadow the /etc/puppet/manifests directory and
also end up breaking automation as well as any existing regular
installations. The example environment with a README seems to be the
best way to move forward and try to present the new system to users.
(PUP-1433) Create example environment for redhat

This adds the example environment for the RPM packages. See the previous
commit for an explanation about why environments are being added to
packages in this manner.

This also moves the README.environment into a shared location so that it
can be kept the same between various packaging systems.
(PUP-1433) List all created directories in deb

The previous commits relied on automatic creation of parent directories.
This explicitly calls out each directory, which brings the debs in line
with how the rpms are expressed.
(PUP-1433) Deprecate non-environment manifest settings

Modulepath, manifest, and config_version are now handled by the new
directory environment system. Templatedir and manifestdir are being
completely removed. This adds the appropriate deprecations so that users
are warned they are doing something that will change.
(maint) Display full trace to deprecated code

Sometimes the location that immediately triggered the deprecation
warning isn't enough information to understand what happened. This adds
the ability to see the full trace to the deprecation when --trace is
enabled.
(PUP-1433) Use modulepath of the current environment

Facts used to be loaded by looking at the Puppet[:modulepath] setting,
but that is now deprecated. This changes it to use the modulepath of the
:current_environment.
(PUP-1433) Stop deprecating env settings on CLI

When config_version, modulepath, and manifest were specified on the
command line, the code that updated the current_environment with the
information looked it up in the settings. This changes it to use the
value() method which isn't going to issue the warning. After the
deprecation period is over the command line handling will be changed to
just global application command line handlers and the environment
configuration will be driven from that.
(PUP-1433) Remove use of manifest setting
(PUP-1433) Remove use of modulepath setting
(PUP-1433) Gather sections for deprecation check in a Ruby neutral way

Ruby 1.8.7 Hash#select() returns an Array, 1.9.3 returns a Hash. So
we'll inject() instead.
(PUP-1433) Add short link to env settings deprecations

Currently pointing to 3.5 environment docs. The short link will need
updating for 3.6.
(PUP-1433) Add deprecation notices to the setting descriptions
(PUP-1433) Link to environment docs

This adds a link to where a user can get more information about the
environments.
Merge pull request #2491 from jpartlow/feature/master/pup-1433-deprecate-implicit-environment-settings

Feature/master/pup 1433 deprecate implicit environment settings
Merge pull request #2471 from zaphod42/feature/master/pup-1433-example-environment-in-packages

(PUP-1433) Add example environment to deb/rpm packages
(maint) Update PMT tests to expect deprecation

The PMT tests are using a puppet.conf that sets the modulepath. This is
now deprecated and so issues a warning. The extra output broke the
test assertions and so needed to be updated.
Merge branch 'master' of https://github.com/puppetlabs/puppet