init: Check if running if not configured to start.

The reasoning for this is explained in:
https://projects.puppetlabs.com/issues/23033

Currently the init-script does not actually check if we're running and
return accordingly when status is called if the puppet master is not
configured to start.

This causes it to always return 0, meaning we're actually running
regardless of if that is the case.
Maint: Reformat docs for Augeas type's "changes" attribute

I'm trying to get DL elements out of the docs, and this fragment works better as
a more compact list anyway.
Maint: Reformat indirection reference to use H4s instead of DLs for termini

A long time ago, I shortsightedly decided to use the definition list Markdown
extension in some of our docs. Time and the renderer ecosystem haven't been kind
to that syntax, so we need to get away from them if we want to be able to switch
relatively freely between various MD processors.

This commit removes them from the last embedded documentation that we still use.
The old-style type reference still uses them, but since we've stopped relying on
it and moved to our own implementation, that should be fine.
(#23085) Ensure old puppet agents get properly stopped when upgrading from 2.6 or early to 2.7 or later
(doc) Add references to RFCs that deal with CSRs

Puppet::SSL::CertificateReequest implements several RFC specified
behaviors around X509 extension requests, but unless one is intimately
familiar with the relevant RFCs (and few mortals are) it's unclear if
this is an arbitrary implementation or actual standardized behavior.
This commit adds documentation that explains the implemented behavior
and references the RFCs that is being implemented.
(#23096) Treat ENC classes with empty params as if they had no params

(PE-455)

Previously, all classes specified by an ENC in parameterized format (a
hash from class to a hash of its parameters) would be evaluated as if
they had parameters. This causes a failure if the class is already
included elsewhere.

This also caused classes with empty parameters to conflict, just because
they happened to be sent as if they were parameterized. For ENCs which
always submit classes in the parameterized form, this causes strange
errors even though there isn't any real conflict, and substantially
diminishes the utility of the ENC.

With this change, ENC classes which have no parameters won't conflict
if they are already included. Classes which do have parameters continue
to conflict the same as they did before, as do classes which are
declared in Puppet code without parameters using resource syntax.

Conflicts:
	spec/unit/parser/compiler_spec.rb

Resolved in favor of 64ff835, removing two specs which had been later
modified in favor of the introduced specs for 'when evaluating node
classes'.
(#23096) Remove redundant hash conversion when handling ENC classes

(PE-455)
(maint) Reorganize data_binding/hiera-spec.rb

Gather helper methods, tests together for clarity.
(#23096) Explicitly clear hiera terminus between specs.

Puppet::DataBinding::Hiera stores the configured terminus in a class
instance variable, which persists between spec runs.  The
databinding/hiera_spec configures the hiera terminus to point to a
fixtures datadir with an invalid yaml file for testing.  But this was
causing a test in the parser/compiler_spec to fail when it compiled a
parameterized class resource, invoking a hiera lookup for the
parameter...which would blow up when it hit the invalid yaml.

This change explicitly clears the Puppet::DataBinding::Hiera class
instance's @hiera configuration after every hiera_spec.
Merge pull request #2037 from adrienthebo/doc-certificate_request_rfc_info

(doc) Add references to RFCs that deal with CSRs
Merge pull request #2035 from skottler/bugs/23085

(#23085) Ensure old puppet agents get properly stopped when upgrading from 2.6 or early to 2.7 or later
Merge pull request #2030 from nfagerlund/no_definition_lists

Remove Markdown definition lists from embedded docs
Merge pull request #2019 from daenney/debian-init-fix

(23033) Check if running if not configured to start.
(#22938) test and document symbolic file modes
Merge branch 'djmitche-bug22938'

* djmitche-bug22938:
  (#22938) test and document symbolic file modes

Closes GH-2016
(#22818) Skip metadata that cannot be parsed.

When adding metadata.json to modules I observed that incorrect JSON can
cause Puppet to die while parsing the invalid JSON.  Wrap this in a
rescue, raise a message, and return false if the parsing fails so that
Puppet continues as if the metadata doesn't exist.
Merge pull request #1987 from apenney/fix/improve-metadata-handling

(#22818) Skip metadata that cannot be parsed.
Merge pull request #2044 from jpartlow/issue/master/23096-enc-classes-with-empty-params

Issue/master/23096 enc classes with empty params
(22853) Let OpenBSD use gtar too.

BSD tar doesn't support "--no-same-permissions --no-same-owner"

Tests and minor fixups by Adrien Thebo <adrien@puppetlabs.com>
Merge branch 'pull-1994'

This closes GH-1994