Moving Input formatter to use header abstractions + MvcOptions.

Will be following up with a pr for cleaning up the inputformatter interface.
Already an issue tracking this : https://github.com/aspnet/Mvc/issues/918