Changes to introduce CanWriteResult for Xml OutputFormatters.

Overriding CanWriteResult in XmlOutputFormatters. By doing this, there will never be a case where XmlOutputFormatters are asked to write a type which they do not support.
Yes. Had that done in the second commit.