(#22205) Reinstate relationship_graph as a factory method

The Puppet::Catalog#relationship_graph method used to be a factory for
the Puppet::Graph::RelationshipGraph. That was removed when the
prioritizer was added in an attempt to remove some of the
responsibilities of catalog. Inside puppet, all of the consumers were
updated. Unfortunately many tests of types rely on the old behavior in
order to test eval_generate, which may be implemented using
introspection of the relationship graph. This reverts back to the old
behavior of the relationship_graph being a factory method and instead
memoizes the prioritizer so that the same instance can be used for the
relationship_graph as well as the transaction.
Merge pull request #1843 from zaphod42/issue/master/22205-revert-relationship_graph-to-being-factory-method

(#22205) Reinstate relationship_graph as a factory method