Some preliminary work for unified dictionary tag interface support.

- toDict() and fromDict() for XiphComments
- toDict() for ID3v2 Tags
More support for the unified dictionary interface.

Addded fromDict() function to ID3v2Tag. Added fromDict() and
toDict() functions to the TagUnion class (uses the first non-empty tag).
Added fromDict() and toDict() functions for the generic Tag class, only
handling common tags without duplicates. Addded preliminary mp3 test
case. Python3 bindings now available on my github site.
Added toDict and fromDict methods for APE tags.
Made im/export functions nonvirtual. Added similar functions to File and
its subclasses. TagLib::File contains a bunch of dynamic_casts to call
the correct specializations.
Merge remote-tracking branch 'official/master'
Splitted ID3v2Tag::toDict() into several functions.

This should simplify future transition to virtual functions.
Restructured and simplified ID3v2Tag::fromDict().
Further cleanup and simplification in id3v2dicttools
Merge remote-tracking branch 'official/master'
Implemented dict interface for more formats.

Now supported: MOD files (IT, MOD, S3M, XM), RIFF files
(AIFF, WAV), TrueAudio, WavPack.
Added tests and information about ignored id3 frames.

The ID3v2::toDict() function now has an optional
StringList* argument which will contain information
about frames that could not be converted to the dict
interface.
There are some dict tests for APE and FLAC now, and the
ID3v2 test was enlarged.
Funny that there managed to be no operator!= for String for so long.
Merge remote-tracking branch 'official/master'
Support for ID3v2.2 frames used by iTunes (TCP, TS2, TSA, TSC, TSP, TST)

https://bugs.kde.org/show_bug.cgi?id=290330
Support non-UTF8 free-form atoms
Check also for the deprecated GIF type
Reverse the version check, similarly to what mp4v2 does
Make it possible to generate an XML report
Merge remote-tracking branch 'official/master'
Implemented the most easy comments on the pull request.