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.
Should be possible, though we don't have such a mechanism at the moment.
But one can implement custom Mapper and plug in whatever is needed, so there is at least a way out.