(#22535) add puppet version to status indirector

This allows either a local or rest find on the status indirection
to return the version of puppet code.  This is especially useful
for a client communicating via the REST API.
(#22535) revert to yaml when a new agent talks to old master

With the 3.3.0 release yaml was deprecated.  However, a 3.3 agent
talking to an older master wasn't fully operational.  This change
causes a 3.3.1+ agent to drop back to yaml when talking with an
older master.  It also issues cautionary messages since the Right
Thing to do in this situation is to upgrade the puppet master.
(#22535) fix apply/etc by setting the status_terminus per application
(#22535) cleanup of desc/hook for new settings

For both new backwards compatibility settings, add a note to the desc
that these are set automatically by the agent when needed, so no need
to set them explicitly.

Remove hook with warning message for report_serialization_format as the
agent now emits notice-level messages when it drops into backward compatibility
mode to work with an older master.
(#22535) improved notice message for backward compatibility
(#22535) add tests for backward compatibility settings
(#22535) add test for legacy yaml serialization of arrays in query string