Allow cache xcache tests to run under cli SAPI.

We test the caching/storage features of xache here to the opcode features. Opcode features are only available when running in web context.
Make Cache::write's $data param optional for multi-key writes.
Reduce line count for cache conditions.
Move Cache::write key array check.
Making Cache multikey-read/writes work with strategies.
Pass only required set of options to Cache::delete strategies.
Making Cache::delete strategies work with multi-keys.
Adding note about possible future deprecation of Cache::delete strategies.
Consistently support cache multikey reads/writes/deletes.

BC break - from now on cache adapter write/read and delete methods
will always get passed an array of keys or key/value pairs.

This BC break only affects cache adapters implemented outside the core.

All adapters must now support multikey reads/writes/deletes.
Adding multi-key docs to Cache methods.
Modifying cache adapters to consistently support multiple keys.

Updating documentation.
Document no expiry for memory cache adapter.
Adapting cache adapter tests to consistent multi-key support.
debug
Fixing APC multi read and delete tests.

Tests weren't testing for reads/deletes through adapter.
Condensing some cache adapter tests.
Adding test for not existent key to memory adapter.
Adding cache multi-write/read tests for adapters.