New truncate and truncateWords methods

New truncate and truncateWords methods, https://github.com/yiisoft/yii2/issues/2941
Update BaseStringHelper.php

Length check.
Update CHANGELOG.md
Update BaseStringHelper.php

Updated to use mb_* functions
Test case for new truncate methods.

Test case for new truncate methods.
Update BaseStringHelper.php
Update BaseStringHelper.php
Changelog update
setting writable folders in init-script

It is said, that these folders are handled already by composer.json, what is definitely true. But if I can't (or don't want to) call composer create-project command, I have to run post-create-project-cmd manually like `composer run-script post-create-project-cmd`. IMHO, it's consistent to make such preparations in init script.
Fix DateTime cast
Update changelog
Set correct ticked ID
Fixed typo
Merge pull request #3236 from pgaultier/bugfix/dateNormalize

Bugfix/date normalize
removed incorrect doc. [skip ci]
no need to set writable folders for console
removed unnecessary lines regarding writable dirs
file helper did not preserve relative paths
view did not use the correct assetmanager
added search form to api docs