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.
should this be declared type or `GetObjectType()`?