the cache class shouldn't care about engine config
The cache class doesn't need to manipulate keys

the cache engine can do that internally
remove duration parameter from CacheEngine::write

it isn't supposed to be a public property. Also move key manipulation
from Cache to CacheEngine instances
update mock to account for prefix usage

Set the prefix explicitly so as not to rely on the application's folder
name
consolidate return early statements
Merge pull request #2370 from AD7six/3.0-config-api

Decouple Cache and CacheEngine