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.
might want to rename to something like `XmlDataContractSerializer_CanWriteResult_ReturnsFalse_ForNonWritableType`.

The important detail is that the type can't be handled by datacontract, than that dictionary can't be handled.