RingBuffer: Play encrypted dvd's and iso images from storage groups

This change enables the backend to use libdvdcss to decrypt dvd's and iso
images before sending the blocks over the myth protocol to the frontend.

This replaces the current POSIX file read in RingBuffer with a class like
DVDRingBufferPriv that uses libdvdread to decrypt the raw blocks.

The real heart of the change is in creating a list of blocks that might need
decrypting and then in safe_read() lookup the blocks requested in that list
and decrypt them if necessary.  Unfortunately the lookup is necessary since
if a block is unencrypted, like ifo files, then the decryption operation
corrupts the data.

Closes #11602

Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
Signed-off-by: Stuart Morgan <smorgan@mythtv.org>