[POC] Cache component

* **Edit 1**: This is not another implementation of `doctrine/cache` or `Stash`, but a layer built on top of them.
* **Edit 2**: I added proposed PSR interfaces (https://github.com/php-fig/fig-standards/pull/96) and updated implementation for compliance.
* **Edit 3**: By adding new features (extensions) I can see architecture refactorings to perform.

**I tried to follow some rules in this POC:**
* have a dead simple API
* have a highly extensible component
* permit to store/fetch/delete data easily
* easily add global namespace to cache keys
* permit to attach metadata to stored data and keep them synchronized through the cache
* permit to add tags metadata and retrieve data by tag easily
* have something similar to what is proposed in *php-fig* issues

**To see how it works, you can take a look at acceptance tests:**
* core: https://github.com/jfsimon/symfony/blob/poc-cache-component/src/Symfony/Component/Cache/Tests/Acceptance/CoreTest.php
* metadata: https://github.com/jfsimon/symfony/blob/poc-cache-component/src/Symfony/Component/Cache/Tests/Acceptance/MetadataTest.php
* tag: https://github.com/jfsimon/symfony/blob/poc-cache-component/src/Symfony/Component/Cache/Tests/Acceptance/TagTest.php

**Some reflections on how it could be used:**
* https://gist.github.com/jfsimon/d006baadb0fc89d4984d

**Backlog:**
* [x] implement component's core
* [x] implement core extensions
* [x] implement metadata extension
* [x] implement tag extension
* [x] implement array driver
* [x] add basic acceptance tests
* [x] implement doctrine driver
* [x] implement stash driver
* [x] try to depend on doctrine/cache for drivers
* [x] have better exception messages
* [x] add key locking mechanism
* [x] add copyright files header ;)
* [ ] optimize queries made to driver by grouping them
* [ ] add an event listener extension (and dispatch events)
* [x] manage data lifetime correctly with all drivers
* [ ] add 'version' extension with fallback
* [x] add composer/readme/license
* [ ] write documentation