Implement EZP-22105: Location search in API

This PR resolves issue https://jira.ez.no/browse/EZP-22105

This implements Location search.
### API changes

* new Query class `eZ/Publish/API/Repository/Values/Content/LocationQuery`
* new set of Location Criterions in `eZ/Publish/API/Repository/Values/Content/Query/Criterion/Location/*`
* new set of Location SortClauses in `eZ/Publish/API/Repository/Values/Content/Query/SortClause/Location/*`
* new set of Location FacetBuilders in `eZ/Publish/API/Repository/Values/Content/Query/FacetBuilder/Location/*`

Existing Location Criterions, SortClauses and FacetBuilders are deprecated.
Reason for this comes mainly from the problems with searching and sorting Content having multiple Locations:

* sorting Content having multiple Locations on Location properties is ambiguous
* Criterions do not relate to one another, meaning some Content queries with Location Criterions are not possible or not intuitive. For example: Content having visible Location A and hidden Location B. Searching with LocationId criterion on Location B and Visibility criterion with Visibility::VISIBLE would return the Content although Location B is not visible.
* a benefit of having pure Content search (for future Location-less Content)

It is still possible to use deprecated Location Criterions with Content search, however this should be avoided as they will eventually be removed. New Location search should be used instead.

New Location Criterions are explicitly denied for Content search.
In contrast to that, because Location always has exactly one Content, Location search can use full set of both Content and Location criterions (deprecated ones excluded).

### TODOs

- [x] When API changes are approved integration tests could be refactored as the Criterion and SortClause parts of the Queries are for the most part the same. At the moment separate tests for Location search are adapted from Content search tests.
- [x] Criterion and SortClause handlers for Location search in Legacy Storage are for the large part the same as ones for Content search. This needs to be refactored to remove code repetition.
- [x] Wait for https://github.com/ezsystems/ezpublish-kernel/pull/704 and update for changes
- [x] Implement `IsMainLocation` criterion and sort clause