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`.
Ah, good to think about the BV meta-model as well. I don't think we really need it right now, though. I don't think a user could access it in any way via the BV API?