Fixes #4597: `yii\composer\Installer::setPermission()` supports setting permission for both directories and files now (qiangxue)
Fixed Smarty extension "use" function to work properly in linux environment
Added automatic generating of unique slug value to `yii\behaviors\Sluggable`
Default event for `yii\behaviors\Sluggable` with `unique` enabled changed to 'insert'.
Add note about smarty SVN
Add rest-controllers.md to translate into Russian
Translated rest-controllers.md into Russian
Merge pull request #4678 from bevalorous/master

Translated docs/guide/rest-controllers.md into Russian
Add rest-routing.md to translate into Russian
Fixes #4644: Added `\yii\db\Schema::createColumnSchema()` to be able to customize column schema used
Translated rest-routing.md into Russian
Merge pull request #4679 from bevalorous/docs-guide-russian-translation

Docs guide russian translation: translated rest-routing.md into Russian
Fixes #4673
Fixes #4371: Active form client validation wasn't working in case of two models having same named fields

When rendering multiple models in the same ActiveForm if any of the field names in the two models is the same then the corresponding attribute in the yiiActiveForm object in yiiActiveForm.js (ie $('form').data('yiiActiveForm').attributes) of the first rendered model is overwritten by the attribute of the last model causing the client-side validation for the overwritten field not to run at all. Example: given two models Car and Owner with attributes {make, age} and {name, age} then if the Car is rendered first its age attribute will not have any client validation.
Added information about format of Data column
Created ArrayCache class

- can be used to enable caching in a request without the need for any storage
- useful for example in complex console tasks that should still be independed
Adjusted data column docs
Fixes #4122: `Html::error()` and `Html::errorSummary()` are now accepting `encode` option. If set to false it prevents encoding of error messages
BaseHtmlPurifier config can now be a closure

`$config` can now be a closure that will have the `$configInstance` passed as the first param.

updated docs.

close #4656
changelog for #4656