Locale bundle

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Fixed tickets | #566
| License       | MIT
| Doc PR        | -

Extracted locales management stuff from core to separate component + bundle.
Added ability to switch the language in the frontend.

That's the first step for making Sylius fully i18n. I want the Locale component to support multiple areas, so that you can have different lang in backend/frontend or per store.
Same, it's LocaleBundle, this looks like it comes by copy&paste from CurrencyBundle.