Introducing UnitTests for XmlFormatters to confirm that headers are always written before writing the body.

Issue https://github.com/aspnet/Mvc/issues/607.
The intent of this test is nice, but the this is testing host specific behavior. The test host behaves this way, but you can't guarantee this behavior. A more appropriate functional test might be to replace `HttpContext.Response` via the one that throws in the Output Formatter application and verify you have 200 OK in all your tests. This would future proof us from writing formatters that accidentally mutate the header collection once the response is written.