introduce predicate based validator, super class for tests

New validator operation "is" where user can defined description
and function of the validation using the predicate interface:
validate(number, is("dividable by 2", val -> val % 2 == 0));

Abstract class ValidationErrorLogging in test source should be implemented
by all test classes so they share a common logging behavior.