* * fix(validator): allow empty and undefined optional arrays
fix the bug of empty and undefined array causing a validation fail
when those are anyways optional
resolves #677
* denonify changes
* fix(validator): fix subsequent nested objects names
fix the bug of having subsequent objects inside a nested structure
causing the validator to forget the previous keys in the scheme's path
fixes point 1 of #677
* deonify changes
* fix(validator): fix jsons validation after arrays
fix the bug of `v.json()` calls made after a `v.array()` to be mistakenly
considered as still being inside the array
fixes one of the issues mentioned in #677
* fixup! fix(validator): fix jsons validation after arrays
create new RecursiveValidator class
* fixup! fix(validator): fix jsons validation after arrays
remove RecursiveValidator class
* refactor(types): refactor and add tests for checking Types
* remove unused
* uncomment
* use `Handler` in validator middleware
* remove unused
* create `src/validator` dir and move some files into it
* add the case that the context is in `validator`
* rename `D` to `S`