Wakeup the backend to run mythfilldatabase

This uses MythFillSuggestedRunTime, for xmltv sources (+24 hours), for
datadirect whatever time was suggested by TMS to ensure that we always
wake up the backend to collect guide data (xmltv, DD only, EIT is not
yet supported). Using MythFillSuggestedRunTime is a bit of a hack, but
it's already set for Schedules Direct so this was the simplest
solution.

For now the "Run guide data program at time suggested by the grabber"
setting MUST be enabled for this to work as intended.

Without this fix the backend won't wake up to grab guide data from
xmltv/SD sources and that may result in it eventually running out of data
entirely.
More robust check before using mfdb run time as wakeup time
Fix compilation on Windows
Add more logging HandleIdleShutdown() to give a clearer picture of what's happening
More robust checks before blocking shutdown for a mfdb run in the near future
Fix startup 'wait for client' check that assumed the client would be non-blocking. It's possible for a frontend to connect to the backend, then go idle before we re-checked for it's presence, which would have prevented the backend shutting down. If _any_ client is connected, then release the block on shutdown.
Add some logging to show what is happening with the startup shutdown block.
Ensure the date we pulled as a string from the database is actually valid
Go crazy with brackets
Use MythDate::fromString() instead of QDateTime::fromString()
Disable MHEG/ITV when generating previews or flagging commercials
Add mythutil --getmarkup and mythutil --setmarkup commands.

This extracts the contents of the recordedmarkup, recordedseek, and
filemarkup tables to or from a local xml file.  The primary reason is
to allow users to extract recorder seektable information as needed and
attach it to a ticket, for a developer to use for debugging.  Example:

  mythutil --chanid xxx --starttime yyy --getmarkup /tmp/markup.xml
  mythutil --video zzz.mpg --setmarkup /tmp/markup.xml

An added benefit is to be able to copy metadata (e.g. seektable,
commskiplist, cutlist) between isolated MythTV instances.
Add a method of easily debugging upnp issues by dumping the complete response to stdout if the HTTPREQUEST_DEBUG environmental value is set.
ImportIconsWizard: Fix log string when grabbing icons for multiple channels.
Always use current time when entering EPG from live TV.

Fixes #11891
Fix executable permissions on a few files
remove executable bit from library file

make Lintian happy by fixing it the other way around, see
https://github.com/superm1/mythtv/commit/ff09a712296bebe5922f7bd400a35b67cacb95c9
Have backendhousekeeper check for artwork update boolean.
Perform run checks for housekeeper tasks set to run on startup.

This may need some rethinking if we want a way to bypass the checks and
force something to run on startup.
Merge https://github.com/MythTV/mythtv