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.
Merge pull request #294 from mvpel/fix_xml_setattr

Fix edit_xml update of existing attribute, with acceptance test