Implemented Symfony reverse proxy support for user context hash.

> Ref #26
> Relates to https://github.com/ezsystems/ezpublish-kernel/pull/1025

Finally the PR :smile: 
This adds support for Symfony RP for user context hash feature.

For this to work, you need to:
* Make your `AppCache` class extend `FOS\HttpCacheBundle\HttpCache` instead of `Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache`.
* Ensure `USER_HASH_ACCEPT_HEADER`, `USER_HASH_HEADER` and `USER_HASH_METHOD` constants match your configuration (cannot rely on semantic config here as we're way too early for that).
* Ensure `SESSION_NAME_PREFIX` matches your environment.

In any case, it is possible to redefine those constants to fit your configuration.

## TODO
* [x] Implement user context hash support for Symfony RP
* [x] Clear documentation on how to set it up
* [x] Make user context hash response vary on sessionId(s) only as Cookie may contain undesired info (e.g. analytics)
* [x] Try to do some tests
After thinking about it and trying a few things, I couldn't find a clean approach to get a dedicated `$fosOptions` apart from doing the following:

```php
abstract class HttpCache extends BaseHttpCache
{
    public function __contruct(HttpKernelInterface $kernel, $cacheDir = null)
    {
        $this->fosOptions = $this->getFosOptions() + array(
            'user_has_header' => 'X-User-Context-Hash',
            'user_hash_uri' => '/_fos_user_context_hash',
            // ...
        );
        parent::__construct($kernel, $cacheDir);
    }

    /**
     * One might override this method
     */
    protected function getFosOptions()
    {
        return array();
    }
}
```

But I don't find this pretty :smile: