Move initializing of properties from initialize() to constructor.

Closes #3776
Fix failing test cases.
Merge pull request #3777 from ADmad/bugfix-3776

Move initializing of properties from initialize() to constructor.
Add missing use statement.

Fixes #3776
Update to use return $this in query docs.

Using $this allows IDE with 'intellisense' to give developers the
correct information.

Refs #3787
Update doc blocks for Email to return $this.

Refs #3787
Merge pull request #3790 from cakephp/query-docs

Update docs to use return $this
Fix docblocks.
docs: Remove obsolete references to RequestHandlerComponent::setContent()
Component: Include LogTrait to allow calling log() as in 2.x
Merge pull request #3794 from rchavik/3.0-misc

3.0 misc
Micro optimize Route.

Calling empty() instead of a userland function is a teeny tiny bit
faster.
Add ScopedRouteCollection

Pull the changes from my prototype branch into a less experimental
branch.
Start adding tests for ScopedRouteCollection

Make extensions an instance property instead of a global static that is
pulled in on each connected route. Having instance properties will allow
scopes to have different extensions if desired.
Add tests for redirect().
Add ability to set Router::scopes() and use prefix()

Fix problems and add tests.
Add basic tests for Router::scope().
Add tests for plugin() method.
Add test for parse().
Add tests for match().