Changes to enable validation for objects generated by InputFormatters.

UnitTests + FunctionalTests for the same.
You are allowed to reference other entities in some data formats (like XML). This does make specifically for deserialization since ModelBinding doesn't allow for references.