HV-905 Providing a global config for auto unwrapping

An early attempt. Any thoughts on the direction?
> To me, auto-unwrapping should depend on a) the global flag, i.e. it must generally be enabled and b) the existence of a matching unwrapper type for a given element.

Auto-unwrapping is just convenience thing. It is off by default. On the other hand, `Optional<@NotNull String>` seems to me clear in its intention. I would like this to work w/o explicit annotation or global config option. The Tuple example is a bit off, since we don't support it either way. One thing we could consider is the `@Valid` annotation. If we have `@Valid` and type annotation we have cascaded validation as we should not auto-unwrap. W/o `@Valid` we try to auto-unwrap. WDYT?