[Filesystem] Made sure Filesystem::dumpFile() overwrites an existing file.
merged branch jakzal/filesystem-dump-file (PR #7820)

This PR was merged into the master branch.

Discussion
----------

[Filesystem] Made sure Filesystem::dumpFile() overwrites an existing file

#7753 introduced a change in behaviour. Before, ConfigCache simply used the ``rename()`` function to save a file. It was replaced by ``Filesystem::dumpFile()`` which internally uses ``Filesystem::rename()``. The later checks if file already exists and throws an exception if it exists.

This PR makes sure that ``Filesystem::dumpFile()`` removes the file before creating a new one.

Alternatively, we could introduce a third parameter to the ``Filesystem::rename()`` which would allow to overwrite the target file.

Before #7752:
* [CompilerDebugDumpPass](https://github.com/symfony/symfony/blob/d100ffaf761b46acdb2440c04602378b87b0d610/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/CompilerDebugDumpPass.php#L23) uses ConfigCache
* [ConfigCache](https://github.com/symfony/symfony/blob/d100ffaf761b46acdb2440c04602378b87b0d610/src/Symfony/Component/Config/ConfigCache.php#L103) uses the [rename()](http://uk1.php.net/rename) function (which overwrites a file if it exists)

After #7752:
* [CompilerDebugDumpPass](https://github.com/symfony/symfony/blob/ad47bc47380188041b7889f40e380ad3766a0110/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/CompilerDebugDumpPass.php#L23) uses the ``Filesystem::dumpFile()``
* [Filesystem::dumpFile()](https://github.com/webfactory/symfony/blob/ad47bc47380188041b7889f40e380ad3766a0110/src/Symfony/Component/Filesystem/Filesystem.php#L458) uses the [Filesystem::rename()](https://github.com/webfactory/symfony/blob/ad47bc47380188041b7889f40e380ad3766a0110/src/Symfony/Component/Filesystem/Filesystem.php#L239) (which throws an exception if file exists)

| Q | 	A
| ------------- | ---
| Bug fix?	| yes
| New feature?	| no
| BC breaks?	| no
| Deprecations?	| no
| Tests pass?	| yes
| Fixed tickets	| #7816
| License | 	MIT
| Doc PR	| ~

Commits
-------

4f4ec76 [Filesystem] Made sure Filesystem::dumpFile() overwrites an existing file.