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.
(#23109) Document PSON

PSON is a small varation on JSON that allows binary data to be encoded.
This document explains what PSON is and how it differs from JSON.
(Maint) Fix broken link to Facts documentation
(Maint) Group service documentation

The service documentation can be better presented if it is grouped
together into logical chunks.
(#23109) Document the MIME type use for PSON
(Maint) Standardize on how we refer to the response format

We were using several different ways of referring to the response
format. This tries to make them all the same style.
(Maint) Update Report docs to be like others

The Report documentation was different from the format of the other
documentation in several places. This works to make it the same style.
(Maint) Reference resource_type schema

The resource_type schema was not being referenced by the documentation.
This does that and moves descriptions of the fields to the schema.
(Maint) Unify style for refering to schema
(#23109) Clarify what control characters are

This clarifies the range of bytes that constitute the ASCII controll
characters. It also fixes a few typos.
(#23109) Fix typo
(Maint) Fix up errors in json schema

A few misplaced commas, a few unescaped quotes...