Changes to enable validation for objects generated by InputFormatters.

UnitTests + FunctionalTests for the same.
We do enumerate the validators in ShallowValidate. We do not do any index based access. So I believe IEnumerable is better than array in this case. Is there some advantage of Array which I am missing here?