Introducing input XML Formatters.

TODO: Stylecop.
XmlOutputFormatters will be in a separate PR.
I know we've got a static class somewhere with a utf-8 without bom encoding instance. It should probably be refactored to something like:

```
Encodings.Utf8WithoutBOM
Encodings.OtherDescriptiveNameForTheSecondOne
```

The point of this isn't really for perf- it's to add descriptive names and make it easier to maintain