[WIP][Validator][TypeGuesser] Respect validation groups

This is attempt to fix very long standing issue #2387 that type guessers don't consider
validation groups while doing guess. I've ran into this (again) when I wanted to have different field type when in one group and different in another (Possible with MongoDB)

| Q             | A
| ------------- | ---
| Bug fix?      | yes?
| New feature?  | yes
| BC breaks?    | yes (Change in interface, but tests passing without touch)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #2387
| License       | MIT

I'll be graceful for reviews and hints, also I'd some problems with figuring out how to unit test new behaviour

- [ ] gather feedback
- [ ] write unit tests