MythUtil: add an --updatemeta option to update music tags

This updates both the database record and the tracks tag with the
new metadata. A MUSIC_METADATA_CHANGED mythevent is broadcast so
all FE's will automatically update to relect the new track details.

See 'mythutil --help updatemeta' for more details.

Note: the music utils are a work in progress so subject to change.
Always force program type to series if it has an onscreen episode number
Added unit tests for Filename metadata parsing
add file missed in 0f02af51269b78446bb368026542b1e5410aa39a
unbreak linkage of the new tests
add more linker flags for dynamic linking against the build environment
add newline at end of file to make compilers happy
add more linker flags for dynamic linking against the build environment
add more linker flags for dynamic linking against the build environment
add more linker flags for dynamic linking against the build environment

Uncomment the last of the copied lines, it appears they are all needed.
add simple unit test for IPTV tuning data

Refs #11949
change IPTV Url test to consider RTSP without explicit port as valid

Found by Nicolas Niclausse
Refs #11949
strip whitespace when splitting RTSP OPTIONS

Patch by Nicolas Niclausse
Refs #11949
RTSP session-id is NOT a number but a random string of at least 8 chars

Patch by Nicolas Niclausse
Refs #11949
MythMusic: Fix detection of compilations using special MusicBrainz Artist ID

Look at all the fields in the 'TXXX=MusicBrainz Album Artist Id' frame for the special
various artists ID not just the first one which in current version of the taglib
contains the tags description.

Refs #10235.
Fixes #12000.
MythMusic: re-factor Playlist to avoid storing MusicMetadata pointers

This changes Playlist to store a list of track IDs rather than a list of
MusicMetadata pointers to avoid possibly accessing stale pointers for
example after a rescan.
Subtitles: Fix memory leak from displaying text captions/subtitles.

Delete the FormattedTextSubtitle object after it has been consumed and
displayed.  This applies to SRT, cc608, and cc708 subtitles that are
actively displayed during playback.  Refs #12005.
MythUI:  Include "minimum" size of a buttonlist, when determining the
minimum size of a group of siblings.
In [50e5f4501] I failed to account for a possible path through
TuningFrequency(), and removed a necessary call to SetChannelByString().

I big thank you to warpme for identifying the problem and solution.

Fixes #11989
Filter database age to reasonable limits

This makes smolt ignore recordings claimed to have been made before
MythTV was released, when computing the age of the database.