3.0 conditional validation

Implements the ideas brought by https://github.com/cakephp/cakephp/issues/3757
This IS cool, but this way I have to reimplment the $mode check myself in the function if I want to allow it to be empty only when a)  updating AND b) it fullfills my additional conditons.

So we could combine it together as:
``$validator->allowEmpty('email', 'update', function($context) {``