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.
This feels shady, if we add a new formatter this might break your functional test. 
We should
a. have a separate test for testing whether you can modfiy the options. 
b. have the xml formatter test depend on something local ( either add a filter at controller level, or have the action return objectResult where you set the formatters in the right order or have a custom OutputFormatterProvider.)