Adds listener to make API output consistent with other popular APIs.

This listener does three things:

- Nests data of associated data properly under the primary record.
- Converts camel cased model names to singular/plural keys.
- Casts values from strings to their proper datatypes.

Examples of popular public APIs are Twitter, Google and GitHub.
Unfails test case.
Removes double newline.
Renamed PublicApiListener to ApiTransformationListener.
Allow user methods for keys and values.
Fixes PHPCS error.
Removes newlines.
Changes event to Crud.beforeRender().
Changes the way API requests are handled.
Fixes typo.
Adds test for empty hasMany data.
Adds comment about overwriting keys on equal names.
Minor optimization.
Makes key changing smarter by using associations.
Optimizes replace map generation.
Adds additional tests.
Settings documentation.
Moves all App::uses() calls to the top of the file.
Merge pull request #89 from Phally/feature/public-api

Adds listener to make API output consistent with other popular APIs.