Remove @__schema_defined guard cc:@jblackman
Remove @__schema_defined guard cc:@jblackman

The reasoning behind is that we may load an "incomplete" object, such
as a shallow link containing only id and title, and that will pollute
the schema inhibiting further hydration of full-fledged objects.

The schema method checks whether the attributes count is greater than
the defined schema attributes count, that is cheap, and if the object
contains more attributest than the ones we know, schema is updated.

Eventually, this guard was incorrect, because it was preventing all
casts from being applied.

ifad/hawk,ifad/hawk