Add identifier quoting to table aliases.

Postgres & SQLServer get upset when you alias tables to User. This is
going to be pretty common so we should quote table aliases.
fixed TestSuite tests
Merge branch '3.0' of github.com:cakephp/cakephp into 3.0
Merge branch 'master' into 2.5
Add test skeleton methods for Table::delete()
Start implementing delete.

Basic simple deletes are working now.
Add tests for callback related features.
Add dependent record deletion.

Dependent records need to be loaded before they are deleted. This
ensures that all the lifecycle callbacks and event listeners are
properly notified. Loading and then deleting is not ideal from
a performance prespective but compromises have to be made sometimes.
Fixed spelling
Merge pull request #2269 from Cameri/patch-1

Fixed spelling mistake
Add doc blocks to CallbackStatement.
Add deletion of join table records for BelongsToMany associations

When cascade is true we should remove rows in BelongsToMany join tables.
Ideally people will set this to false and use database constraints, but
this is a reasonable backup in case constraints aren't used.
Improve doc blocks a bit.
Fix failing tests.
Fix coding standards.
Extract cascading deletes into the association classes.

Doing this allows each association to handle cascading deletes in their
own way. I think this makes the code cleaner, and allows userland
associations to participate in cascading deletes. In addition a new
trait has been extract to avoid inheritance/code duplication in
HasOne/HasMany.
Add unit tests for association classes & cascadeDelete.

In addition to the Table integration tests, these are helpful
to have as they test conditions in the associations.
Added buffering of form tags generated by FormHelper::postLink()
Pass the delete options into cascadeDelete calls.

This allows the cascaded deletes to access the original options used
for the delete.
Pass options into cascaded deletes.