SLING-4138, refactor Validator interface

refactor Validator interface to support
- acting on arbitrary data types (not only String)
- cross-checks for multiple properties
- array validation