HV-905 Providing a global config for auto unwrapping

An early attempt. Any thoughts on the direction?
> Ok, to be clear, you want `Optional<@Email String>` to "work out of the box"

yes

 > Whereas for `@Min(3) IntegerProperty myInt` you want the constraint to be applied to the wrapped value by default and only if the global switch has been set, it should apply to the wrapped value?

Correct. 

> Is that actually what you suggest? Because it seems really un-intuitive and inconsistent to me. 

Why. I seem you get distracted by semantics here. I purely look at annotations and where they are placed. 

Why is automatic unwrap "on" in on case by default but not the other?

> Why is automatic unwrap "on" in on case by default but not the other?

Because imo in one case it is implicit what you want to do, whereas in the other (`IntergerProperty`) it is not. 

> I fear users will be easily confused by this.

Hmm. I find this consistent tbh. 

> What's the problem with my approach?

Non really, expect you need to use an additional annotation. AFAIR one reason you wanted to have the global flag was to save annotations. You did not want the user to have to specify `@UnwrapValidatedValue` everywhere. The implicit unwrapping for the case that we have type use constraints, but *no* cascaded validation seems to fall into the same category. 

Where is the problem with the implicit unwrapping?