(#21641) Windows puppet service should log to the eventlog

Initial attempt to add in eventlogging for all log messages
New service command line argument (--logtofile). By default the service will log all messages to the Eventlog.  This argument will log messages both to the Eventlog and the Puppet log file in Common Application Data.  This can be useful if the EventLog logging is failing or another application depends on the the logfile
Basic tests show the new code works however more testing should be done
(#21641) Windows puppet service should log to the eventlog

Cleaned up some whitespace issues
Changed the wording on some of the log entries to avoid confusion between 'Service resuming' and a Service Resume control message
Added logging for the Pause, Resume and Shutdown service control messages.  Previously there was none
Noted Bug id 11 in the win32-service ruby code
Added a commented out handler for the Interrogation event for debuggin purposes
Changed the name of the event log function from raise_windows_event to report_windows_event to avoid connotations with raise
Changed the event source to Puppet so that the correct event source DLL is used.  However it may be a good idea to split the event source between the service and the actual agent so it's easier to read in the Eventlog.  This would require a change to the puppet_for_the_win repo as well.
The eventlog.close command is within an ensure block to stop leaked handles if an error occurs
(#21641) Windows puppet service should log to the eventlog

The --logtofile argument was working for the service but was causing the puppet agent run to fail as it didn't know what to do with it.  Used a simple text substitution to remove it from the args string.
(#21641) Windows puppet service should log to the eventlog

Spelling mistake
Suppress misleading warn. in openbsd provider

I have observed that `pkginfo` command used as `listcmd` by `ports`
package provider sometimes outputs extra messages to stdout (the message
starts with `Updating the pkgdb`). This causes puppet to issue its own
warning as the line obtained from `listcmd` is not a valid package name.

This patch suppresses this spurious message.
(maint) Add ruby-augeas to Gemfile and Travis for more test coverage
Maint: Be more clear that puppet queue is deprecated

- Remove link to old wiki docs
- Link to PuppetDB docs
- Say "deprecated" again
Maint: (#18294) Update docs for ip property of Zone type (allows defrouters since 2.6)

Per Redmine 18294, the Zone type has allowed specifying default routers as part
of the IP string since at least 2.6 -- see Redmine 4296 for deets. This commit
updates the doc string to show how to do that.
Maint: Move pkgdmg documentation into provider description; document changed behavior

This wiki page was more longwinded than it needed to be; you can really sum it
up in about four bullet points. So I did that, and removed the wiki link.

Also, while investigating what the wiki said, it became clear that this provider
no longer actually uses open-uri: a Kernel.open call was changed to File.open,
but apparently nobody was using file:/// URLs (or anything weirder), so it went
unnoticed. So I added some comments for future maintainers of this code.
Maint: Remove remaining links to wiki pages in Puppet source

These pages now all have better-maintained counterparts in the main docs site.
(#23373) Support selecting the section

The --section option to the subcommand now allows a specific section of
the configuration file to be manipulated.
(#22744) Filter virtual resources in the static compiler

Previously (on Lost), the static compiler was directly creating and
invoking the regular compiler and then modifying the file resources to
get the desired behavior. Because the static compiler was directly
invoking the regular compiler, it was not invoking all the methods that
would normally get called when the regular compiler was called by the
indirector.

This commit resolves this problem by making the static compiler inherit
from the regular compiler instead of delegating to the compiler. If
there are future changes to how the indirector invokes termini, the
static compiler will still be able to generate catalogs in the same
manner as the regular compiler.

Original patch by Chris Spence <chris.spence@puppetlabs.com>
(#23373) Have config parsing use IniFile's sections

Since the IniFile code now tracks the sections the config parsing can
utilize it and simplify its flow some
Maint: Adjust wording and formatting of several settings, notably reports
(#23373) Provide a more structure config file parse

The previous parsing of the config file was a hierarchy of hashes, which
made it hard to discover what the parts were. This changes it to use a
more structured system and lays the groundwork for moving lookup
behavior elsewhere.
(#23403) 'autosign' setting should manage file parameters

Puppet settings of type :file can specify the owner, group, and mode of
the file specified by the setting, like so:

    [master]
    autosign = $confdir/autosign.conf { mode = 664, owner = service, group = service}

Commit bca628dc extracted the autosign setting validation to a setting
class but dropped the ability for file settings to be specified. This
commit resolves the issue by making the autosign setting inherit from
the file setting.
Maint: Update docs for schedule type and metaparameter

The wording of these was out of date and somewhat strange.
Maint/22374: Clarify the action/interaction of the noop setting and metaparameter
(#23403) Do File.expand_path on the expected path

The FileSetting#to_resource method will call File.expand_path, which on
Windows, will convert a relative path like /foo/bar to an absolute path based
on the current drive.

This commit changes to the test so that the autoconf setting returns an
absolute path.
Maint: Improve/reduce documentation of relationship metaparemeters

These descriptions were too wordy and too inconsistent. I'm imposing a format on
them so they all look alike, and a casual reader can tell how many there are and
how their behaviors differ. I'm also adding links to the more detailed
documentation.