Use Component::initialize() instead of overriding constructor.

Component::initialize() has been updated in CakePHP 3 to match other initialize() methods.
As per cakephp/cakephp#4823

Also update are the various tests that were affected by this change, including the changing of the AddActionTest to use the IntegrationTestCase. This was necessary to get the API tests to pass (The other Action tests are not affected by this since they do not use the API listener)
The `Controller::initialize` which earlier used `initialize()` method as callback is now replaced by `Controller::beforeFilter`. So instead of changing the method signature it would be better to rename this method to `beforeFilter()`. I would has change the event `Crud.initialize` to `Crud.beforeFilter` to maintian consistency with core.