MythMusic: fix Coverity ID 1026166 Improper use of negative value

In Ripper::toggleTrackActive(MythUIButtonListItem *): Negative value can be
returned from function is not being checked before being used improperly

The only way this could be a problem is if item doesn't exist which is very
unlikely.
MythMusic: fix Coverity ID  1026169 Resource leak

In EditMetadataCommon::scanForImages() image was not being deleted.
MythMusic: fix Coverity ID  1026175,1026176,1026177 Uninitialized variables
AvfDecoder: fix several Coverity detected errors

* 1026172 Uninitialized scalar variable (fill).
* 1026173 Uninitialized scalar variable (total).
* 1026164 Division or modulo by zero - this looks like a false positive
          because m_inited will be false if m_sampleFmt is FORMAT_NONE
          which is the only way the division by 0 can happen.
MythMusic: fix Coverity ID 1026174 initialise several variables in ThumbFinder
mytharchivehelper: fix Coverity ID 1026163 remove some logically dead code
Add new MythSystem. Rename old MythSystem to MythSystemLegacy.

This commit creates a new simplifed and less ambiguous MythSystem API.
The old MythSystem has been renamed MythSystemLegacy and provides
the current implementation for the new MythSystem.

The next steps are:
   Complete unit tests for new MythSystem,
     fixing bugs as they are found & enhancing MythSystemLegacy as necessary.
   Port code over to the new MythSystem interface.
   Get a windows buildbot running.
   Eliminate MythSystemLegacy unit tests.
   Refactor MythSystemLegacy to support only the new interface.
   Eliminate any unneccesary abstractions.
Port existing MythSystem tests to the new interface.
Close stdin after write in MythSystemLegacy.

We only write to the program whatever has been sent in via Write()
prior to calling Run(), but we never close the pipe. This is what
was causing the stdin unit test for MythSystemLegacy to fail.
Fix hang in applications when threadpool thread fails to run.

In the event that a thread pool threads fails to start do not leave it
in the list of running threads which can lead to us waiting
indefinitely for it to finish in MThreadPool::waitForDone(). The fix
is to immediately remove the thread from the list of running threads
if IsRunning() is false immediately after calling start() - see
start() in qthread-unix.cpp. N.B. IsFinished() is false in this
scenario because the thread never started.

When this occurs, either because we've hit the system thread limit or
we've run out of memory QThread (on unix/linux) will print:
"QThread::start: Thread creation error: Resource temporarily
unavailable"

Shortly afterwards the thread calling MThreadPool::waitForDone() would
hang, in the case of the frontend this may be the UI thread in the
MythImage destructor.
MetadataImageDownload: fix Coverity ID  700237 Unchecked return value

In MetadataImageDownload::run(): Value returned from a function is not
checked for errors before being used
MythFontProperties: fix Coverity ID 700924 Uninitialized scalar field

In MythFontProperties::MythFontProperties(): A scalar field is not
initialized by the constructor.
Search: fix Coverity ID  700801 Uninitialized scalar field

In Search::Search(): Several scalar fields are not initialized
by the constructor.
RSSSite: fix Coverity ID 700800 Uninitialized scalar field

In RSSSite::RSSSite(): A scalar field is not initialized by the constructor.
LanguageSelection: fix Coverity ID 700798 Uninitialized pointer field

In LanguageSelection::LanguageSelection(): Several pointer fields are not
initialized in the constructor.
ResultItem: fix Coverity ID 700806 Uninitialized scalar field

In ResultItem::ResultItem(): Several scalar fields are not initialized
by the constructor.
MetadataLookup: fix Coverity ID 700886, 700885 Uninitialized scalar field

MetadataLookup::MetadataLookup(): Several scalar fields are not initialized by
the constructors.
fix Coverity ID 700887 Uninitialized scalar field

In ParentalLevelChangeCheckerPrivate::ParentalLevelChangeCheckerPrivate():
Several scalar fields are not initialized by the constructor.
VideoMetadata: fix Coverity ID  700888 Uninitialized pointer field

In VideoMetadata::SortKey::SortKey(): A pointer field is not initialized in
the constructor (false positive because it's a copy constructor so the field
will be copied anyway)
VideoMetadata: fix Coverity ID 700889 Uninitialized pointer field

In VideoMetadata::VideoMetadata(): A pointer field is not initialized in the
constructor (false positive because it's a copy constructor so the field will
be copied anyway)