Fixes #4072: `\yii\rbac\PhpManager` adjustments

- Data is now stored in three separate files for items, assignments and rules. File format is simpler.
- Removed `authFile`. Added `itemsFile`, `assignmentsFile` and `rulesFile`.
- `createdAt` and `updatedAt` are now properly filled with corresponding file modification time.
- `save()` and `load()` are now protected instead of public.
- Added unit test for saving and loading data.
Merge branch 'master' into rbac-phpmanager-adjusment

Conflicts:
	framework/UPGRADE.md
Adjusted naming
Result check at `Security::generateRandomKey()` added
made mcrypt a framework requirement
Update requirements.php
Merge pull request #4104 from yiisoft/rbac-phpmanager-adjusment

\yii\rbac\PhpManager adjustments
Advanced app `User` model code style fixes
Advanced app `User` model code style fixes
Merge pull request #4117 from creocoder/apps-advanced-common-user-code-style-fixes

[skip-ci] Advanced app `User` model code style fixes
Review requirements

fileinfo is not a hard dependency.
make fileinfo optional requirement