Fix: pengine: properly cancel recurring monitors
Previously, RecurringOp() and RecurringOp_Stopped() would create a cancel op,
and set the action interval meta-attribute to the configured interval
specification. However, it is interpreted as milliseconds.
This refactors a new pe_cancel_op() function to reduce code duplication across
those functions and CancelXmlOp(), and fix the issue.