Changes to enable validation for objects generated by InputFormatters.

UnitTests + FunctionalTests for the same.
It's not a delegate though. If it'd thrown you'd have to catch it earlier on when creating the `ModelMetadata`