Moving some code around to extract useful bits out of query
Renaming table -> repository
Extracting reusable logic from Query, QueryCacher and ResultSetDecorator
out into the Datasource namespace
Removing ORM specific code out of QueryTrait
Removing method alias, there is no need o create it so early at this
point
Moving the remaining ORM specific code out of QueryTrait
Moved more code that can be used genericaly by any query
Fixing failing test case
Fixed CS errors
Merge pull request #2877 from cakephp/3.0-query-abstraction

3.0 query abstraction
Use the widget objects for textarea.

Use widgets instead of templates directly.
Merge pull request #2883 from cakephp/3.0-textarea-fix

Use the widget objects for textarea.
Added the letter s to a comment.
Removed 4 lines of useless code.
Merge pull request #2884 from sam-at-github/controller-tidy

Controller tidy
Make the wannabe fully qualified namespaces in docblock tags actually fully qualified by adding leading backslashes.
Resolves #2870
Fix docblock tag namespace that slipped through because the tag was incorrectly named @throw instead of @throws. Fixed the tag name too and also added missing sub-namespace.
Fix malformed/missing @throws docblock tags (split into multiple tags, add missing leading backslashes and sub-namespaces, etc)
Remove unnecessary @return tags in constructor and deconstructor docblocks.
Fix docblock/function signature mismatches (parameter name typos, wrong parameter types, missing parameter tags, invalid/wrong/missing return types, missing/unnecessary leading backslashes for namespaces, etc...)