Respect setters when deserializing XmlList, etc.

Previously reflection was always used when deserializing to an XmlList, XmlValue or XmlAttribute. This fix uses setters when available in property metadata.