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).

### TODO
- [ ] Test on contentInfo status [instead of mainLocationId](https://github.com/ezsystems/ezpublish-kernel/pull/1113#discussion_r21676928)
- [ ] BC note
Because it would avoid the call to persistence if some (published) content does not have locations.