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`.
`TypeArgumentMetaData` is no public API, a user would never get hold of it. The entry point into the BV meta-data API is via `Validator#getConstraintsForClass()`.

I would leave this out for now as we don't yet really now how constraints on type parameters should be represented in the meta-data. I'd definitely do it separately from the issue at hand.