(Maint) Remove commented code
(#19983) Retain the file from which an AST node came

When the new parser encounters an error when executing the compiled
manifests it was not able to produce what file contained the error. This
was caused by a small typo in the AstTransformer.
(Maint) Fix format of method definitions

Throughout the puppet codebase we use the method definition format that
puts parens around the params of the method.
(Maint) Remove unneeded setting of origin

The origin that is set on the model is not used when transforming to an
AST. Instead the AstTransformer is created with the filename that it is
transforming and uses that for the file of all of the AST elements.
(Maint) Remove is_adaptable?

The Adapter code for tracking extra information on the Pops models had
extra functionality that was never used: is_adaptable?. This allowed
objects to opt-out of being adaptable. However, there is no code using
this, yet it adds extra responds_to? checks for every call to add
information onto models.
(Maint) Simplify tracking of file origins

The Puppet::Pops::API::Origin system for tracking where a parsed model
came from was in anticipation of possible future expansions. Those
expansions are not around and so the extra complexity is simply adding
extra maintenance. This removes that complexity and should make the
origin tracking more straightforward.
(#19886) Add heredoc to the puppet language

This is a working lexer implementation of the arm-4.heredoc proposal.
It supports heredoc specification of @(endtag[:syntax][/escapes]), or
@("endtag"[:syntax]). It also supports specifying the end of a heredoc
text with a pipe '|' to indicate left margin, and a '-' to indicate
right trimming of last line.

See arm-4 for more details.

The lexer emits a HEREDOC token with the syntax (or '') if there was no
syntax specification. The token following the HEREDOC is either a STRING
or a DQPRE/DQMID/DQPOST sequence with intermixed expressions.