[core.cache] move dogpile backends to pymor.core.dogpile_backends
[core.interfaces] add uid to BasicInterface
[core.cache] revamp cache implementation
[algorithms.ei] move EvaluationProvider out of interpolate_operators

This makes the class EvaluationProvider picklable, which is (currently)
required for caching to work
update to new cache interface