Replace usage of direct queries on the settings table with SaveSetting() in MythFillDatabase
(cherry picked from commit 4629d336e30a62945a557fc8aa1602634aa09f24)
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.
(cherry picked from commit b27bba2921b6aed801173de8ae2707dd958b75f3)
More robust check before using mfdb run time as wakeup time
(cherry picked from commit d9f5a172d3024216b5c7b6d3e8b8ccc8e40ed3e2)
Fix compilation on Windows