Adding the beginnings of a FileDriver cache.
Making FileDriver work with different types.
Updating FileDriverTest to extend CacheDriverTest.
s/CacheDriver/CacheDriverInterface

Changing the interface methods to allow for arbitrary __construct
function and removing $time where irrelevant.
FileDriver implements CacheDriverInterface.
Updating delete method in FileDriver cache.
Rewriting CacheFactory.
Cleanup use statments.
Cache config requires both a driver and prefix.
Small fix after update to temping 0.4.3
Adding getDirectory() to FileDriver.

Also making sure that the directory is not created until a key is
actually set.
Ensuring CacheFactory creates FileDriver properly.
Moving shared test methods out of CacheDriverTest.

The testGetAndSet methods are too difficult to use when working with
mocks in other tests.
Updating MemcachedDriver and creating test.
Adding MemcachedDriver to CacheFactory.

Also testing that CacheFactory returns the same instance every time.
s/Drivers/Driver for Cache.
Updating Cacheable to use new cache drivers.