(PUP-3268) Raise an error for unknown puppet.conf sections
For Puppet 4, switch from deprecation warnings for [legacy] puppet.conf
sections to raising an error during configuration parsing. The only
accepted sections are 'main', 'master', 'agent', 'user'. Refactored how
allowed section names are specified when parsing. The environment.conf
files are handled by the same parser, but merely warn for unknown
settings/sections and ignore them.