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`.
> That all said, I am happy to not do the "auto-cascading" for now. First off, @gunnarmorling seems to be the opinion that it is the right thing anyways...

Thanks, +1 for going this route at least for the time being. We can and should re-discuss the options we have, also let's see what @emmanuelbernard has to say about it.