Changes to enable validation for objects generated by InputFormatters.

UnitTests + FunctionalTests for the same.
you could do `var modelKey = (string)null;` :trollface: Seriously don't though.