EZP-20172: Location based HTTP cache aware REST API

See http://jira.ez.no/browse/EZP-20172.

The current goal is to implement TTL & purge based cache on  applicable REST resources.

## Cached resources
The following resources are now cached by the reverse proxy, with TTL and a X-Location-ID header. They use the same settings than location view: `content.view_cache`, `content.ttl_cache` and `content.default_ttl`:

- `GET /content/objects/{contentId}`
- `GET /content/objects/{contentId}/locations`
- `GET /content/objects/{contentId}/versions`
- `GET /content/objects/{contentId}/versions/{versionNumber}`
- `GET /content/objects/{contentId}/versions/{versionNumber}/relations`
- `GET /content/objects/{contentId}/versions/{versionNumber}/relations/{relationId}`
- `GET /content/locations/{locationPath}`
- `GET /content/locations/{locationPath}/children`
- `GET /content/locations/{locationPath}/urlaliases`
- `GET /user/groups/{groupPath}`
- `GET /user/users/{userId}`
- `GET /user/groups/{groupPath}/subgroups`
- `GET /user/groups/{groupPath}/users`
- `GET /content/binary/images/{imageId}/variations/{variationIdentifier}`

## Changes
- Removed the need for `QaFoo\RMF\Message` by making `Output\Visitor` return an `HttpFoundation\Response` directly. The Response object is also used internally by the visitor, and can be manipulated directly from `ValueObjectVisitor` implementations.
- Added a dedicated value object + visitor, `CachedValue`

## Todo
- [x] Cache remaining applicable resources: root, binarycontent (?), user and group resources
- [x] Consider caching of redirection based resources, like `/content/objects/{contentId}/currentversion`
- [x] Refactor usage of X-User-Hash. It can be made more global, probably from the `CachedValue` visitor
- [x] Implement cache configuration injection into the CachedValue visitors (hardcoded in the service definition)
- [x] Consider making LocationCachedValue::$locationId nullable, and only set the header if not null. Would prevent having to check the location ID in every controller method.
- [x] See what can currently be done for resources that have nothing to do with locations. How would expiration work ? Is a TTL only based HTTP cache acceptable ?