(#22191) Always process internal catalogs

Puppet generates and applies several catalogs during a single run. There is
the main (host_config) catalog, either downloaded from the master, or locally
applied. However, there are several other internally generated catalogs used
to manage internal state, such as file permissions from defaults.rb. Basically
anytime `Puppet::Settings.use` is called.

Previously, if puppet was asked to stop, `Puppet::Application.stop!`, then it
would cancel the current transaction, as well as any future transaction. As a
result, we may intentionally cancel the main (host_config) catalog, but then
unintentionally skip the transactions that follow, e.g. writing the rrdgraph
report.

This commit modifies the transaction to only cancel the evaluation loop if we
are evaluating the main (host_config) catalog and a stop has been requested.
All other internal catalogs will always be processed.