Fix: xml: Purge diff markers even if there's no digest

So that "cibadmin --patch" and "crm_diff --patch" work correctly
Low: crmd: Self contain stonith_failures hash table to access functions
Low: fencing: Return -ENODEV for failed fencing operations when no devices are found
Medium: crmd: Stop trying to fence when no devices exist capable of fencing a node
Merge pull request #309 from davidvossel/fencing_retries

optimize fencing retries
Merge pull request #308 from gao-yan/xml-diff

Fix: xml: Purge diff markers even if there's no digest