EZP-23784: Refactored preview location handling

> [EZP-23784](https://jira.ez.no/browse/EZP-23784)

Improves the Location draft passed on to the preview template when previewing the first version of a Content. This draft does not have an id (it is set to null), but has the real parent location id and depth.

### Internal changes
Moved the location part out of `eZ\Publish\Core\Helpers\ContentPreviewHelper` to `eZ\Publish\Core\Helper\PreviewLocationProvider`. Using the API + SPI, the provider will either return the content's main location (API), or a fake location based on the content's parent location (SPI, uses eznodeassignment inside persistence).


Should we maybe check if contentInfo is published, and if so either return null or Location depending on mainLocationId?