Installer changes for CakePHP 3

For the upcoming CakePHP 3.0, the target directory is changed to `plugins` in order to make a more uniform casing in the application root directory. 

This changeset attempts to solve this by overriding `getLocations()` and and when package `cakephp/cakephp` being required is >= 3.0, return adjusted value of `CakePHPInstaller::$locations` accordingly.  Since we don't change the default value, this PR would backward compatible for CakePHP 2.x.

Two things I'd like to clarify in `CakePHPInstaller::getLocations()` which I'm not too sure about:
- The way of finding out which `cakephp/cakephp` is being required
- The way to compare versions
Please let me know if there's a better way.

Another thing is I found that we have not passed the `Composer` instance to `Installer::__construct()`.  I added this change in b072373