Introducing input XML Formatters.

XmlOutputFormatters will be in a separate PR.
What about properties? My concern is that the common case is properties not fields. It's not likely we'd find a bug here, but this doesn't really match how people write models.