fix-2054
Merge pull request #2086 from Joypricecorp/fix-2054-1

fix-2054
[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
Create new Storage component to reduce code duplication between components
Fix typos, add new methods to StorageInterface
Rework cart to use new CartContext and Storage component
Merge pull request #2089 from stloyd/feature/storage

Create new Storage component to reduce code duplication between components