Low: pengine: cl#5058 - Regression tests for on-fail operation fix

Backported from: ClusterLabs/pacemaker@ad91e113b9a5afce2fb459ece5628a74392467f5

Backport Notes:
 - 1.0 is not affected by this bug and only the test cases are added.
 - the test cases have been recreated for 1.0 because the failure information is
   stored differently from 1.1 which uses '<lrm_rsc_op id="A_last_failure_0" ...>'
Low: PE: Bug cl#5059 - Use the correct action's status when calculating required actions for interleaved clones (regression test)

Backported from: ClusterLabs/pacemaker@61a079313275f3e9d0e85671f62c721d32ce3563

Backport Notes:
 - 1.0 is not affected by this bug and only the test case is added.
Medium: cib: Do not leak resources in clients if the server is killed

Backported from: ClusterLabs/pacemaker@536be360f177989bde2b5022ae6ccab193ed075e
Medium: crmd: Ensure the transition timer is correctly reset after a change

Backported from: ClusterLabs/pacemaker@50d6f9fba5454ad9707ac011cc1509c5110e6063
Medium: RA: ClusterMon - Don't fail in stop if the process is missing (bnc#569957)

Backported from: ClusterLabs/pacemaker@429c417f450aafda1c2e1691215fa25d2487fde5
Low: RA: ClusterMon - A minor tweak

Backported from: ClusterLabs/pacemaker@5b948c9c25a4237991b456353315bd92d4d94083
High: Tools: crm_shadow - Bug cl#5062 - Correctly set argv[0] when forking a shell process

Backported from: ClusterLabs/pacemaker@095bb947aa822837e20701fa3b7bd0fdf5390821
High: PE: Fix use-after-free errors detected by coverity

Backported from: ClusterLabs/pacemaker@6a0d5dcc631887c9c77aea0c0741f4e91b7fc493

High: PE: Fix additional use-after-free introduced in cs: 6a0d5dc - Fix use-after-free errors detected by coverity

Backported from: ClusterLabs/pacemaker@1adc3a792d7f4edb2c09e4da71b36dce99ad2d5a

Backport Notes:
 - Above two commits are merged into this single commit.
High: PE: Fix use-after-free errors detected in check_action_definition() by coverity

Backported from: ClusterLabs/pacemaker@45b3bb441d72be14980714d0d47c9e58d01c8d2c
High: pengine: cl#5069 - Honor 'on-fail=ignore' even when operation is disabled.

When a monitor operation's on-fail option is set to ignore, failures should
not result in recovery of the resource.  This works properly when the monitor
operation is enabled, but if the monitor operation fails and is then disabled,
the on-fail=ignore option is not honored. The result is the resource
gets recovered even though the monitor failure should be ignored. This issue
occurred because disabled operations were not being unpacked.  The
disabled monitor operation would be created, but instead of filling in the
action's attributes from the xml, defaults would be used instead.

Backported from: ClusterLabs/pacemaker@833dc3ce59c12e9f7ee76519b6f9ec26ad97cd6c
Low: pengine: cl#5069 - Regression tests for on-fail=ignore

Backported from: ClusterLabs/pacemaker@54726b75f83fe3ce73de4f20e757fef2fdbf60c2
High: Fix memory leak in cib when writing the cib contents.

This leak has been potentially existing since 1.0.*,
but it should not be ciritical because the amount of leakage is very small.

Backported from: ClusterLabs/pacemaker@49fbd841bc3f55cce26358f996339c30af1eab9c

Backport Notes:
 - The original description above is not precise;
   the leakage is occured only in the child process and it exits right after here,
   so effectively there is no leakage in 1.0.
Low: avoid list traverse restarts when stripping text nodes

Restarting from the beginning of children list can lead to some
subtrees being unnecessarily traversed several times (once for
every text node following it). To handle node deletion, it is
sufficient to simply copy the pointer to next item before we
delete current one.

Backported from: ClusterLabs/pacemaker@afe3f99ae2eeeadcf74a81848b0f14c8dac2a5f4