Add an alternative to with_master_running_on that can be used with PE

Previously we added methods called `with_puppet_running_on` to several
individual projects so that we could get them to have similar behavior
to `with_master_running_on` but work on our enterprise products as well.
This combines and refactors the downstream `with_puppet_running_on`
implementation, bringing them into the harness proper.