Introducing input XML Formatters.

XmlOutputFormatters will be in a separate PR.
these ifdefs were present before because we built this for a portable lib. Not sure if they're needed for k10 or not, but you should check.