Moving Input formatter to use header abstractions + MvcOptions.

Will be following up with a pr for cleaning up the inputformatter interface.
The other providers are in the `Microsoft.AspNet.Mvc.OptionDescriptor` namespace. Might want to move this to same namespace.