Setting providers fro validator where they make more sense, this will
also help to better validate outisde the table class
Not using toArray in Entity::validate() as some properties were not
validated if marked as hidden, this would for example prevent password
validation if marked as hidden
Simplifyind code in Marshaller
Adding EntityValidator as an auxiliary object to do deep validations on
entities
Adding methods in Table to validate entities
Adding doc blocks for EntityValidator
Refactoring the validation routines in Table into EntityValidator
Documenting validation function in Table
Unit testing and fixing Table::validate* functions
Allowing Entity to get errors in nested entities
Fixing CS error
Fixed another CS error
Fixed issues found in review
Entity does not use the Table directly
Merge pull request #2539 from cakephp/3.0-validate-first

3.0 - revisit validation