Locale provider as a service

Locales are provided by a service.
The default service gets the locales from configuration, but it can be overriden by any service that implements ``LocaleProviderInterface`` to retrieve them from DB for example.
Shame, it was far more readable the other way!