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`.
Something seems odd, apparently the `@NotBlank` constraint is reported for names[2] but I don't think it should as it the value is null which is a valid value for `@NotBlank`.