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
Fixed exception message to match the one in Component
InvalidCallException, InvalidParamException, UnknownMethodException are now extended from SPL BadMethodCallException
Added changelog for #3175 that fixes #2925
Merge pull request #3175 from yiisoft/fix-exception-hierarchy

Fix exception hierarchy
Gii missing space in crud update template [skip ci]
Merge pull request #3178 from lucianobaraglia/gii-ultraminor-fix

Gii missing space in crud update template [skip ci]
Issue #3154 - DataColumn checkForFilterErrors() now use Html::addCssClass
Render gridview table footer after table body
Fixed GridView cells calling order
Updated CHANGELOG
di doc WIP [skip ci]