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, I'm not really sure about the case you mention. I think I'd start with a simple set of `MetaConstraint` and see how far it gets us. We still may have to introduce a special type, but `ConstraintMetaData` / `Cascadable` don't seem to be the right abstraction to me. It doesn't really fit (see group conversions etc.).