Try multiple MythTV executables when retrieving --version information

This causes Smolt to try, in order, mythutil, mythbackend, and
mythfrontend, when polling them for MythTV version information. This is
to correct a situation where users return "Unknown" data because they
were using 3rd party packages that did not provide the backend
executable.
Allow programmes with a title of 'Unknown' to be recorded from the EPG. Fixes #11346
Remove a stray comma in the help text for --reset. It only resets appearance and language settings, not all settings.
Provide feedback to the user when --reset is used otherwise it's not apparent that anything happened.
Change wording of a log message, it's there purely for the benefit of users not developers so word it accordingly
Use ClearSetting() instead of SaveSetting() with an empty value when reseting language andcountry with --reset
Save Language and Country settings as global settings and not per-host
settings. These were never meant to be host-based settings. This could
have resulted in applications running without the correct
language/country preferences on backends and slaves because changes to
the settings wouldn't have been propagated to those systems.

N.B. This doesn't fix existing systems. There will be a
followup commit to do this. In the meantime, running mythfrontend
--reset on all machines would remove the old per-host settings.
Fix minor leak.

The tasks live during the entire life of mythbackend. Only allows nicer output following bb997346018d79678f19006bad4152cd2bd9cb14 (that is 0 objects leaked)
Revert "Resync nzmqt with upstream.  Fixes #10924."

Consistently segfault at startup

This reverts commit 6f39379cfa8f63c84548d9a25cc33264d27b478e.
Add a way to check if the application is exiting.

This is designed to prevent deadlocks and not attempt operations relying on an eventloop running
Increase API following change to MythCoreContext
Prevent deadlock in mythbackend when exiting

This is certainly not a proper fix; sockets should be deleted in the thread they are created.
Deletion here rely on qEventLoop to be running, which doesn’t exist at this point in the runtime, so we wait forever for the invokeMethod to exit.
Prevent deadlock in mythbackend when exiting

This is just a dirty workaround; there should be a better way to do things

Fixes #11783
MythArchive: Fix for deprecated use of PIL python modules

This allows mythburn.py to work with both Python Imaging Library (PIL)
and Pillow the PIL fork.

Fixes #11561.

Signed-off-by: Paul Harrison <pharrison@mythtv.org>
Fix missing header

Was relying on QRunnable being included in another header
Don’t treat EAGAIN or EWOULDBLOCK as error, instead retry up to 3 times

It would probably be more elegant to fix MSocketDevice::readData instead, but as it’s the only location using the MSocketDevice that way, it will be fine for now

Fixes #11517
Make mythlogserver build and use conditional.

When disabled, provide equivalent functionalities; each application running an extra logging thread that will handle syslog, file or db logging.
Remove the dependency on zeromq and nzmqt.

Default is mythlogserver daemon enabled
Properly propagate quiet log option

—quiet was being propagated when not set. Test was reverse or documentation is wrong
Add —nologserver option

This will limit all logs to console, disabling file, db and syslog.
If enabled, mythlogserver will never be started; or if built without mythlogserver, two extra threads won’t be created

Ref #11230 and #11784: not a fix, but allow to bypass the issue
Update ABI following addition to —nologserver