Moving Input formatter to use header abstractions + MvcOptions.

Will be following up with a pr for cleaning up the inputformatter interface.
we should put these in a static class like we do for encodings rather than sprinkling them around