[LangCodeExpander] Add method CompareLangCodes(const CStdString& code1, const CStdString& code2).
Its purpose is to determine if two languages given as ISO 639-1, ISO 639-2/T, or ISO 639-2/B codes represent the same language.
[LangCodeExpander] Add method CompareFullLangNames(const CStdString& lang1, const CStdString& lang2).
Its purpose is to determine if two english language names represent the same language.
For example "Abkhaz" and "Abkhazian" represent the same language.
[DVD/OMXPlayer] Fix auto-selection of audio and subtitle streams by using a generic language compare method.
XBMC's audio and subtitle language is stored as an ISO 639-2 T code, but a video's metadata could also store it as an ISO 639-2 B code which could differ from the T variant.
[DVD/OMXPlayer] Always use the first entry of a language code in the mixed ISO 639-2 T/B code table.
Merge pull request #2839 from ace20022/fix_lang_select

 [DVD/OMXPlayer] Fix auto-selection of audio and subtitle streams.