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.
Add new guide upload-file

1.  UploadedFile::getInstances($model, 'file'); sees only one file if not set ```'file[]'```

```php
<?= $form->field($model, 'file[]')->fileInput(['multiple' => '']) ?>
```

2. ```$form->errorSummary(..)``` not return all errors of file attribute, but only the last.
So I had to invent.

```php
if ($model->hasErrors()) {
    echo '<pre>';
    print_r($model->getErrors());
    echo '</pre>';
}
```

So it should be?
Update BaseStringHelper.php
Issue #3154 - DataColumn filter model validation error indication added
Issue #3154 - GridView - list of filter model validation errors added to summary
Issue #3154 - DataColumn checkForFilterErrors() now use Html::addCssClass
Render gridview table footer after table body
Fixed GridView cells calling order
Updated CHANGELOG
Merge pull request #2801 from ElisDN/gridview-footer

Get gridview footer content after cells content
Update yii.validation.js

Если длина строки не проходит валидацию, то выводим сообщение об этом, а не длину.))
Merge pull request #3184 from Sergeygithub/patch-1

Update yii.validation.js
updated change log. [skip ci]
Fixes #503: Finished DI documentation. [skip ci]
Fix the Y2K38 bug

Adds support for timestamps beyond year 2038.
Update CHANGELOG.md