Add common base for all validators

This removes the need in wrapping all reqs in combinators;
they all behave in the same way so one can use combinators only when needed.
Pretty-print nested exceptions in validators
Support defaults in all reqs
Update year in license note