NOJIRA Composer
PROV-1070 Add zend-cache via composer
PROV-1070 Rough shell for an in-memory cache
PROV-1070 Finish rough implementation of in-memory cache

No error handling yet, all Zend\Cache errors will just be passed
through to the user of this class.
Merge branch 'develop' into dev/reworkCaching
PROV-1070 Fix static functions and add methods for key removal
PROV-1070 Add test cases for new in-memory cache
PROV-1070 Always load MemoryCache
PROV-1070 Rework Configuration caching to use new in-memory caching facility
PROV-1070 turns out empty cache keys are not allowed
PROV-1070 Why not use a real parameter default instead?
PROV-1070 First cut at facilities for external caching

I really don’t like how the return values of Zend\Cache vary from
adapter to adapter and don’t always match the documentation. The
Filesystem Adapter in particular seems very hacky, and it can’t store
arrays and objects by default so we have to do our own serialization.
We might want to use something other than Zend\Cache after all.
PROV-1070 Ditched Zend\Cache, added Doctrine common libs
PROV-1070 Rewrite MemoryCache

We now use a custom implementation based on PHP arrays since we removed
Zend\Cache. Also simplified interface a little bit. We probably won’t
need these multi-item access functions.

Also remove ExternalCacheTest because we’re going to rewrite that as
well.
PROV-1070 Refactor MemoryCache to mimic Doctrine cache interface

Having the same interface for both internal and external caching should
help our sanity.
PROV-1070 Rewrite ExternalCache

Now use Doctrine\Common\Cache. The interface seems simple enough and
looks okay so far. Only implemented the Filesystem driver though.

The cool thing is that all these drivers support stats like cache hits,
cache misses etc.
PROV-1070 Rewrite Configuration to use new cache and move ExternalCache configuration out of config file into setup.php because we can't use Configuration
PROV-1070 Fix misc issues
PROV-1070 There's no use for in-memory caching in Configuration constructor

It’s not used anywhere anyway as most calls run through
Configuration::load() anyway, where in-memory caching is VERY important
and working well. I couldn’t find a single cache hit for in-memory
caching in the constructor. Might as well save the memory.
NOJIRA-1070 Rewrite ExternalCache

Turns out that one-cache-object per namespace wasn’t such  a good idea
after all because memcached and apc don’t have inherent support for
namespaces. So we have to do the namespacing by prefixing the keys.
That’s not a problem except we now can’t wipe/flush specific namespaces
anymore as these adapters don’t have a way to iterate over all keys.
They really kept it as simple as possible.

The tests now pass with all backends. The new file backend has the
typical file permission problems, i.e. when the cache is created by the
web server, you can’t access/write it as normal user. But I guess that
problem existed with Zend as well.