EZP-22051: Implemented base preview mechanism
EZP-22051: Forward request directly to the ViewController instead of dealing with the ViewManager
EZP-22051: Made ViewControllerListener aware of « location » and « contentInfo » request attributes
EZP-22051: Matcher factories: if siteaccess is null, don’t do anything + added tests
EZP-22051: Correctly inject locationId/contentId in request attributes when ViewControllerListener matches a Location or ContentInfo object
EZP-22051: Made it possible to pass a Location object in $params in ViewController
EZP-22051: Made it possible to directly pass Content object in ViewManager::renderLocation()
Removed useless @covers in ViewManagerTest
EZP-22051: Refactored PreviewController
EZP-22051: Added new tests for core ConfigResolver
EZP-22051: Added tests for core PreviewController
EZP-22051: Added isPreview
EZP-22051: Removed all cache headers on generated preview response
EZP-22051: Implemented PreviewHelper

It now uses EventDispatcher to trigger actions to do when changing configuration scope (i.e. siteaccess).
This includes resetting legacy kernel instance to correctly inject settings for content preview(e.g. image settings).
EZP-22045: Fixed view when falling back to legacy view provider
EZP-22051: Use SecurityContext to check access on content/versionview

This is now possible thanks to #656 ([EZP-22045](https://jira.ez.no/browse/EZP-22045))
EZP-22051: Fix form token issue due to regeneration of session ids

Avoid session to regenerate while manually injecting user in legacy using eZUser::NO_SESSION_REGENERATE flag.
This injection of user has been introduced in #656 ([EZP-22045](https://jira.ez.no/browse/EZP-22045))