add 'atomic' option to "save()" API

This commit adds a transaction context to 'save()' API in order to rollback
possible modifications done in some 'Model.beforeSave' listener callback.
This will allow cakephp 2.x to behave like 3.0 .
It uses try/catch to better handle transaction.
Previous save() API is renamed to protected _doSave() method.
A new save() method is created for transaction handling.
'atomic' option is disabled for internal 'save()' call.
Fix API docblock CS errors.
Merge pull request #3640 from cakephp/api-doc-comments

Fix API docblock CS errors.
Add once option to css().

The default value is false for backwards compatibility. In 3.0, the
default will be made consistent with script().

Refs #1973
Refs #3628
Fix doc comment errors in Acl classes.
Fix the test suite package doc block errors.
Merge pull request #3645 from cakephp/api-doc-comment

Api doc comment
Merge pull request #3604 from Haititi/2.6-save-atomic

2.6 add 'atomic' option to "save()" API - delivery
Merge pull request #3653 from markstory/2.6-html-css

Add once option to css().
Remove dead, untested and unreachable code in FormHelper.

Closes #3650
simplify connect code for redis
Merge pull request #3659 from dogmatic69/patch-3

simplify connect code for redis
Fix doc errors in Component/Acl.
Fix api doc errors in TestSuite/
Update datasource API docs.
Merge pull request #3661 from cakephp/api-docs

Api docs
Deprecate App::pluginPath()
Merge pull request #3668 from ADmad/2.6-app-pluginpath

Deprecate App::pluginPath()
Remove lies from API docblock for BasicAuthenticate class.

Add info on how to configure for cookieless/stateless operation without redirection.
Merge pull request #3666 from ADmad/2.5-basic-auth

Remove lies from API docblock for BasicAuthenticate class.