(PUP-1596) Read environment.conf for new directory environments

Prior to this commit, the new directory environments would always have a
set manifest and modules directory relative to their environment
directory.  This is too restrictive compared with the arbitrary
modulepath and manifest settings available to legacy puppet.conf
environments, so we are adding a per directory environment.conf which
allows arbitrary settings for manifest, modulepath and config_version
per directory environment.

The path to the environment.conf is unique per directory environment and
is not configurable.  For a given $environment found through the
$environmentpath, it is always
"<path-in-environmentpath>/$environment/environment.conf"

Sections other than 'main' are ignored in this file, as are any settings
other than manifest, modulepath and config_version.  Adding a section or
other setting will log a warning but otherwise parse.  A relative path
is always taken to be relative to the environment directory itself.