FIX: Correctly MOVING child nodes in XElement

We were previously copying child nodes in XElements due to the different
semantics in what XmlElement.AppendChild does (move) vs. XElement.Add
does (adds).