Move secure field generation into the widgets.

Doing this solves a few problems with FormHelper and the widgets.

* Widget logic was re-implemented in the helper (date/datetime).
* Userland widgets have no way of creating multiple secured inputs.

This change also cleans up the FormHelper internals a bit which is
a nice side benefit.
Add afterRender hook for widgets.

Give widgets that implement the afterRender hook a callback to add
script or css files, or just let them manipulate the view.
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()