Introducing input XML Formatters.

TODO: Stylecop.
XmlOutputFormatters will be in a separate PR.
Yes, I've changed the contract.