MythMusic: update the music cd ripper to use storage groups

The encoders and taggers require local file access so we now use a temp
directory in MythMusic's config directory to rip the tracks to and once
complete they are copied over to any backend with a directory in the
'Music' storage group.  The master will be used by default but you can save
to any BE by using the "Select Where To Save Tracks" option in the popup
menu. The option is sticky so once changed the same one will be used the next
time until it's changed.

Note: Due to  limitation in RemoteFile::DeleteFile() you cannot remove any
tracks on slave BE's from the rip screen so if you need to re-rip an existing
track on a slave BE you will have to manually delete it first.
Explicitly set the audio capabilities of the DVD VM to indicate all audio types are supported.  This makes DVDs that check this VM register play properly.
Add missing comma in housekeeping SQL query.

Fixes #12050
MetaIO*: Add the filename to write() and writeVolatileMetadata()

This makes them consistent with all the other functions and is also necessary
because the filename stored in the MusicMetadata may no longer point to a file
on the local file system that we can write to.

Note: bumps the ABI core and plugins need to be recompiled.
MusicMetadata: add the missing FileSize() implementation
MusicMetadata: add a getLocalFilename() function

This will attempt to find the file on the local file system either using the
filename as is or it will also look in the local 'Music' storage group.
MusicMetadata: clear the cached actual filename when the filename is set
Missed a file in 1238ba43bcf
CDRipper: fix the writing of the metadata to the tag

The encoders only update the tag in their dtor but the ripper only deletes the
encoder when starting encoding a new track by this time the track has been
copied to the 'Music' storage group so we now delete the encoder just before
starting the copy to the storage group.
Merge remote-tracking branch 'upstream/master'