Interface normalization.

Although the CacheProvider provides several interesting capabilities, most are not available through the Cache interface. This PR simply declares new interfaces and CacheProvider as implementation of theses.

Note that FlushableCache could be implemented only by implementations that were actually able to flush all entries, instead of CacheProvider.

note that this request applied to the methods, not to the class-level phpdoc