Give access to the property mapping object to the namers

Namers used to heavily rely on reflection to access object properties. PropertyMapping objects are here to avoid that, we should use them.

**Note:** as the `DirectoryNamerInterface` and the `NamerInterface` were changed, this PR causes a BC break for all the user defining their own namers.