HV-877 Supporting type use constraints on type arguments

This applies to `PropertyMetaData`. After your feedback, I'll continue the work on parameters and return values and I'll extend `ParameterMetaData` and `ReturnValueMetaData`.
Hum, but what is the motivation for this "auto-cascading"? Do you have a pointer to the place where Hardy suggested it? Just trying to make sense out of it. Maybe I'm missing a piece :)