myth protocol: add a MUSIC_TAG_ADDIMAGE command

This command will be used by the music metadata editor to add an image to a
tracks tag.

format: MUSIC_TAG_ADDIMAGE <hostname> <songid> <filename> <imagetype>
myth protocol: add a MUSIC_TAG_REMOVEIMAGE command

This command will be used by the music metadata editor to remove an image from
a tracks tag.

format: MUSIC_TAG_REMOVEIMAGE <hostname> <songid> <imageid>
myth protocol: fix copy/paste error in the MUSIC_TAG_REMOVEIMAGE command
change const copy to const reference (cppcheck)
remove unused const copy (cppcheck)

I'm leaving the code there for now as its pulling values from the protocol.
H264Parser::decode_Header: pic_order_present_flag is not required, so don't
insist on it.
DTVRecorder::FindH264Keyframes: Only account for Adaptation Field Control
Offset if payloadStart is set.
Add new columns for Unicable related configuration data

Refs #9726
mythutil - ExtractImage: Always update the image even if one already exists
MainServer::HandleMusicFindAlbumArt: cache any embedded images found
MainServer::HandleMusicTagGetImage: pass the ImageType by number not by name

The imagetype filename is translated which causes problems so safer to just
pass the ImageType value.
AlbumArtImages::scanForImages: fix the image filename

The filename should have been updated to be the myth url of the image.
Partial revert of c64141b0c0b7118ee28be2441374727a1af7c44c

We can use the previous readblocksize as it was adjusted during earlier reads. However we set the initial value in such a way that it will be automatically recalculated on the first call to RingBuffer::CalcReadAheadThresh()
Cache the size of the remote file for 500ms

Aim is to speed up common usage…
MythMusic: update the metadata editor adding/removing images from the tag

This re-enables adding and removing embedded images from a tracks tag using
the albumart editor screen which now works with storage groups.
Set initial FileRingBuffer rawbitrate to 800

In continuation of dddf14c050297a7bbb74459e3018e457a47d2489
Reorganize cache and temporary directories under common parents.

Previously, various cache and temporary directories were sprinkled all
over ~/.mythtv, aka MYTHCONFDIR.  This change puts them all under
~/.mythtv/cache or ~/.mythtv/tmp, though, there could still be a few
I've missed.  Some of these directories can get quite large and having
them all in more centralized locations makes it easier to track how
much space they use and to not back them up.
Allow capture of the unprocessed (raw) MPTS from appropriate input devices.

While Myth wont do any processing, if the input device supports pid
filtering, then that will still happen.  To make sure the entire stream is
capture, make sure a recording is enabled for each 'program' available on
the transport.

To enable this feature, set "Record Full TS?" to Yes in a recording profile
(in mythtv-setup) and then select that profile when creating the recording
rule.

This is based on the work by Daniel Kristjansson, just expanded to cover DVB
and HDHomeRun devices.  It can trivially be expanded to any other
appropriate input device.
Relocate another cache directory.
Attempt to fix compilation of [b0aa4e50c] on non-linux machines.