3.0 conditional validation

Implements the ideas brought by https://github.com/cakephp/cakephp/issues/3757
I don't think there would be any problem with custom providers as the user is responsible for passing them when creating the validator. It was a problem with the table and entity provider because both are added automatically for you.

The entity provider is the trickiest one as it changes dynamically. For example if you are validating a form with 10 images, you will need to change the entity provider for each image you are validating. That is basically the reason it is no possible to build the validator with the entity provider pre-set.