[Design] Prevent flushing when writing out from the formatters.

Also make the XML formatter respect object as a return type.

Issues: MVC #1073, MVC #972

#1072 is a followup work item to add test coverage.

// CC @GrabYourPitchforks @harshgMSFT @danroth27 @sornaks @kichalla 
do you want to leave open to true? With delegating stream it should nt be needed right?