[Locale] Rework LocaleContext to allow usage different storages
Merge pull request #2088 from stloyd/feature/locale_storage

[Locale] Rework LocaleContext to allow usage different storages