This patch moves us from using an old pref `general.useragent.locale`combined with `intl.locale.matchOS` for retrieving user requested locale, to use a new preference `intl.locale.requested` which stores a list of well-formed BCP47 language tags. If set to empty, the OS locales are used. If not set at all, default locale is used. We are also adding a piece of code to migrate from old to new system. MozReview-Commit-ID: 854yQ1kC6Ee