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

Issue https://github.com/aspnet/Mvc/issues/607.
It might make sense to mock `DefaultHttpResponse` instead. Like @rynowak mentioned, this code doesn't lock down on top level properties on `HttpResponse` that modify the header. Since `DefaultHttpResponse` implements these properties by changing the header, you'll have an easier time verifying that nothing's changed.