Low: controller: clear last failure from CIB even if executor state unavailable
Previously, erase_lrm_history_by_id() had two callers. lrm_clear_last_failure()
called it with orig_op potentially set, and do_lrm_cancel() called it with a
call ID.
Separate the last failure call into its own function,
controld_cib_delete_last_failure(). This allows the interface to simplify and
be more readable. Some of the XPath constants are duplicated as of this commit,
but that will be fixed later.
Call the new function directly from handle_failcount_op() instead of
lrm_clear_last_failure(). This ensures that (like the attribute manager
entries) the CIB entry gets cleared regardless of whether the executor history
can be.