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.
Myth Protocol: add a MUSIC_TAG_UPDATE_VOLATILE command

This command will be used to update the rating, last played time and play
count in a music tracks tag.

format:-
MUSIC_TAG_UPDATE_VOLATILE <hostname> <songid> <rating> <playcount> <lastplayed>
MusicPlayer: use the myth protocol to update the volatile metadata
Myth Protocol: add a MUSIC_TAG_UPDATE_METADATA command

This command will be used to update the metadata in a music tracks tag.
It assumes the new metadata has already been saved to the database.

format:-
MUSIC_TAG_UPDATE_METADATA <hostname> <songid>
MythMusic: don't send SCAN_MUSIC and MUSIC_TAG_UPDATE_VOLATILE in the UI thread
MythMusic: fix saving the metadata to the tag on the editmetadata screen
Fix install paths for libdvdnav/read include files.
Initialize memory used in Jitterometer::GetCPUStat to keep valgrind quiet and happy.
Invalidate the cache after deleting a video file to ensure the free'd entry is removed.

Fixes #12052
Adjust the Signal Monitor timeout to before the scheduling prep for the next show.
Some HLS tweaks to make recording more robust when faced with unreliable
feeds.
Ensure 'programflags' is initialised.  ProgramInfo::LoadProgramFromRecorded sets some flags individually but does not explicitly ensure that no other flags are set.
Only force a refresh of the metadata rather than invalidating the cache as that causes a crash if file system browsing is enabled.

Refs #12052
Add housekeeper startup delay.

This delays creation of the first HouseKeepingThread until the first
cycle, which is one minute after creation. This will allow time for
other potentially necessary subsystems to come up on init, should the
HouseKeeperTasks need them. Tasks tagged as kHKRunImmediateOnStartup
will still be run in-thread immediately as the housekeeper is started.

Fixes #12042