(#18508) Add acceptance test for basic resource ordering
(Maint) Move Relationship_graph_wrapper into its own file and slightly refactor

Relationship_graph_wrapper stuck out like a sore thumb in the middle of
Puppet::Transaction. This is the first step to cleaning it up.
(Maint) Remove unused #applying? from Catalog

There don't appear to be any uses of this api private method anywhere in
the codebase. It wasn't technically marked as private, but it has no
clear purpose.
(Maint) Extract create_transaction
(Maint) Add preliminary YARD to Catalog#apply
(Maint) Move reporting catalog retrieval duration to the transaction

This is another step in removing dependencies between catalogs and
transactions.
(Maint) Decouple reports for logging from catalogs

Previously the catalog had to track if a report had been given for
logging. This encapsulates that relationship so that only the report
knows how to control the logging destinations.
(Maint) Remove commented code
(Maint) Remove weird thing in transaction tests

Can't understand what this does, but removing it had no noticable effect
on the tests.
(Maint) Make methods private in Transaction

Many methods in Transaction were public but should not reasonably be
considered public. This narrows Puppet::Transaction down to a
reasonable, and small, public interface.
(Maint) Simplify conditional in aliasing

Only Type and Parser::Resource respond to isomorphic, and they both implement
name and title so we can eliminate these unneeded checks.
(Maint) Fix some docs in Puppet::Type
(Maint) Parenthesize

Parens are nice :)
(Maint) Avoid creating unneeded Status objects in Transaction

When querying whether a resource was scheduled, we were unnecessarily creating
a Status for the resource even though it was unused.
(Maint) Delete transaction specs that were testing implementation and not behavior

Many of the specs had intimate knowledge of the implementation of the
transaction and made changing it difficult. They added little value
themselves, so just remove them.
(#18508) Test that the relationship graph gets built in order

The relationship graph needs to be built to preserve the order that
resources are in the catalog. This ensures that we do that.
(#18508) Promote working acceptance test for ordering
(#18508) Add acceptance test for ordering when using master and agent setup

We want to make sure nothing in the network layer changes things.
(#18508) Add failing test case for ordering issues
(Maint) Collapse classes for relationship graphs

Since the introduction of the Puppet::RelationshipGraph the
Puppet::Transaction::RelationshipGraphWrapper seemed a bit out of place.
This changes the interface for the #traverse method so that all of the
transaction specific and interacting portions are injected in, which
decouples the RelationshipGraphWrapper from the Transaction. Once that
was done, then it was clear that the two graph classes could be brought
together.

This provides a single class that represents the final relationship
graph and the semantics of traversal that that graph has.