Fix EZP-23562: Elasticsearch: make Mapper dispatchable

This PR resolves issue https://jira.ez.no/browse/EZP-23562

This breaks Mapper implementation into a abstract `Mapper` and `Standard` implementation, in order to make custom implementations dispatchable.

`mapContentLocation()` is renamed to `mapLocation()` as more appropriate.
Is it possible to externalize this somehow ? Via an event system for instance, so that one can enrich it.