(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
Merge pull request #2491 from jpartlow/feature/master/pup-1433-deprecate-implicit-environment-settings

Feature/master/pup 1433 deprecate implicit environment settings