Different media/tag formats specify languages and countries
differently. This change introduces a Locale class to keep track
of the format being used. So far there are no automatic conversions
implemented so it is entirely up to the user to pass valid values using
a format which matches the one required by the media/tag format.
This change also adds support for Matroska's IETF elements so at least the
raw value can be read, written and is preserved.
* Convert UTF-8 text fields automatically to UTF-16
when version is ID3v2.3 or below
-> so conversion from ID3v2.4 to ID3v2.3 or below
doesn't require manual conversion of possibly
UTF-8 encoded fields
* Don't use magic numbers for ID3v2 encoding byte
* Don't warn about UTF-16 Big Endian with BOM