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. I haven’t worked on maps yet. The following shows what I have tested:

    List<@NotBlank String>

    @UnwrapValidatedValue
    Optional<@NotBlank String> email

    @UnwrapValidatedValue
    Optional<@UnwrapValidatedValue @NotBlank StringProperty>
A `TypeArgumentDescriptor` interface might be needed here.