MetaIOAVFComment: don't call av_estimate_timings() in getTrackLength()

It's not needed with current ffmpeg and was causing a segfault while scanning
for music files.
MetaIO: validate the files extension before creating a tagger

This checks the file extension is one we know how to handle before
creating the tagger. Return NULL if not valid.

This fixes a bug with the music file scanner trying to add files with an
unknown file extension.

NOTE: bumps the ABI version so compile and install myth core before compiling
the plugins
Bump the ABI version after 47217ca10ad
MythMusic: make sure we null check the returned tagger after 47217ca10a

Also make sure the tagger is deleted after use.
MythMusic: avoid storing a pointer to the current playlist in the music player

Always get the current playlist from MusicData to avoid possibly referencing a
stale pointer. This can occur while doing a rescan.

Also add NULL checks everywhere just in case.

Refs #11906.
MythMusic: move the music file scanner into libmythmetadata

No functional change this just makes the file scanner available outside of
MythMusic.

NOTE: bumps the ABI so both core and plugins need to be recompiled.
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