HV-925 Formatting
HV-925 Implementing unwrapping rules as listed by issue

- Adding a boolean flag to @UnwrapValidatedValue to allow to explicitly specify unwrapping or skipping of unwrapping
- Introducing ValidatingValueUnwrapMode used by metadata to distinguish between the different potential ways of handling unwrapping of validated values
- Updating all levels of metadata and metadata builders to make use of ValidatingValueUnwrapMode
- Updating test, splitting some of them into smaller ones
HV-925 Improving test
HV-925 Updating docs and docs examples