Merge master onto stable to prepare for 3.3 release

Merge remote-tracking branch 'origin/master' into stable

* origin/master: (478 commits)
  (Maint) Add docs for #relationship_graph
  (#22205) Reinstate relationship_graph as a factory method
  (#22205) Select manifest ordering for ordering test
  (#22191) Rename cancelled to canceled
  (#22191) Always process internal catalogs
  (#22191) Mark ready, but unevaluated resources, as skipped
  (#22191) Add cancelled resource handler
  (#22205) Extract common Prioritizer code into a superclass
  (#22205) Chose a Prioritizer based on Puppet[:ordering]
  (#22205) Re-introduce old ordering as a Prioritizer
  (#22205) Provide setting to control manifest ordering
  (#22205) Add enum setting type
  (Maint) Restructure requires for settings
  (Maint) Removed commented out settings
  (#22205) Extract class for generating resource priorities
  (22021) Implement (un)install_options for OpenBSD package provider.
  (Maint) Move most graph related code to Puppet::Graph
  (#18508) Ensure that no two resources have the same priority
  (#18508) Handle duplicate generated resources correctly
  (#18508) Ensure eval_generated resources apply at the right time
  ...
(packaging) Update PUPPETVERSION for 3.3.0-rc1
Merge branch 'stable'

* stable:
  (packaging) Update PUPPETVERSION for 3.3.0-rc1