Run_if at the workflow level

Description of the feature request

Enhancement for the workflow to have support for a run_if condition.

Use case / for what or how I would use it

Currently the run_if condition only applies to steps. If a utility workflow is referenced in multiple workflows then it will always be attempted to be evaluated and executed. If the workflow has multiple steps then each one will need to be equipped with a run_if condition. This can be be avoided if the whole utiltiy workflow is evaluated as not required to be run anymore (i.e. has already been run in the same execution).