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 you call base.CanWriteResult before the CreateSerializer call? You should not need to create serializer if you cant support type. 
Moreover, do we have to create the serializer in order to determine if the type is supported. If the types are documented as not supported we can avoid creating of serializer completely .. ( I am fine with this point but something to think about)