Fix edit_xml update of existing attribute, with acceptance test

Redmine 2034: https://cfengine.com/dev/issues/2034

The xmlNewProp() libxml2 call, used in SetAttributeInNode(), does not alter the value of an existing attribute, resulting in an inability to keep promises about the value of any existing attribute.

The xmlSetProp call will create an attribute that does not exist, so replacing xmlNewProp with xmlSetProp resolves the issue.

The acceptance test is a copy of set_attribute_002.cf, slightly modified.