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
You’re right. In that case, since we cannot properly use HttpCache’s `$options`, I’d (for now) slightly prefer constants over the added complexity from adding another getter (`getFosOptions()`) and changing the constructor.

@stof On a more general level, would it make sense for Symfony’s HttpCache to add a `getOption($name)` method or make `$options` protected instead of private in order for extending classes to have access to it?