HV-877 Supporting type arguments annotations constraints

This is a bit messy, but it’s just to show the direction and to get your feedback.

Nested unwrapping is also supported. The following shows what I have tested:

    List<@NotBlank String>

    @UnwrapValidatedValue
    Optional<@NotBlank String>

    @UnwrapValidatedValue
    Optional<@UnwrapValidatedValue @NotBlank StringProperty>

    Map<String, @NotBlank String>
That's an interesting point. See my comments above, I'm wondering whether it could be exposed in the same way as constraints defined in a static manner. But I wouldn't mind leaving out the BV meta-data API for now and focussing on the actual validation aspect first.