CRM_Utils_System::flushCache - More consistent behavior. Prepare for interface-php test.
* The interface-php test registers an instance of WorkflowMessageInterface.
* The list of WorkflowMessageInterface's is stored in the 'long' cache.
* When you enable/disable an extension, it should clear WorkflowMessage list (and other things).
* Before this patch, interface-php's `LifecycleTest` is inconsistent: it passes with
`testLifecycleWithSubprocesses()` and fails with `testLifecycleWithLocalFunctions()`.
* After this patch, interface-php's `LifecycleTest` is consistent: it passes with both
`testLifecycleWithSubprocesses()` and `testLifecycleWithLocalFunctions()`.
* The problem - while executing `testLifecycleWithLocalFunctions()`, it evidentally uses
`Arraycache` as the backend -- and thus skips the flushes. However, I cannot fathom why
one would want to clear-caches for SQL+memcache+redis but keep them for Arraycache.