Fix not proper splitting files with compiler commands.

Previous code did not take into account cases when we have argument
with spaces, but in quotes. That caused treating part of include paths
as "multiple sources" mode and causing expansion of dozens of python
processes.
Fix problem with multiple line breaks when getting compiler output
Use cache lock to ensure cache coherency

And avoid errors during stats saving.
Add feature with statistics reset
Fix file locking errors on Windows
Cleanup 10% of the cache, increase file lock timeout.

Need to avoid errors and performance degradation on too large caches
(e.g. 14GB).