Introducing input XML Formatters.

XmlOutputFormatters will be in a separate PR.
Hmmm, interesting. The interface `IInputFormatter` has these as `IList<>`. Should I change it to `IReadOnlyList<>` there as well?