Fix guide navigation after [2ac4d1ffb] which converts all parameter names to lower case, meaning 'StartTime' was no longer valid, replaced with 'starttime'
Add Recording Schedule methods to scriptable API

Unlike the http (xml/json) API, for the scriptable API you pass
a pointer as the sole argument to the RecRule object for
AddRecordSchedule and UpdateRecordSchedule instead of the 40
variables which make up the object. They behave identically but
it's a lot easier to use.
Fix missed datetime conversion in Dvr::GetRecordSchedule()
Adds Server Side Import (include) for scripts.

This is for server side execution only.  If an import statement
is found at the start of a line, the files contents are injected
into the current server side script that's being processed.

No further processing is done on the imported file
(it must be valid javascript code).

Syntax:
   - must be at start of line (no leading spaces)
<%
import "/relative/path/to/script.js"

%>

 - or -

<%import "/relative/path/to/script.js"%>
Hook up the 'quick record' menu in the Web Guide

The quick record menu allows simple schedules to be created in just
two clicks without ever leaving the guide. First click on the program
you want to record, a menu will appear offering 4 different scheduling
options, "Record this showing", "Record all showings", "Record one
showing" and "Record all showings on this channel". A fifth button
will take you instead to the scheduler editor (ultimately).

There is still no schedule editor, and no option yet to cancel a
schedule/recording. The latter will be the next thing I add.

This involves a bit of a hack with a timer to check the result of the
reschedule. This will ultimately be replaced with a websocket based
solution but it works for now, assuming your MATCH reschedule requests
take less than 2.5 seconds.

Generally the code could use a cleanup, but it works fine as a
demonstrator.
Tweak padding/margin on quick record menu
Dismiss the busy popup a little faster
Add page left/right navigation to the Guide.
Handle multiple spaces between import keyword and filename
Fix Qt < 5 compile error.
Add a RecStatusToString method to the DVR class. This may be replaced with a better approach later so I'm not bumping the service version.
Fix the disappearing programs bug in the Service API
Fix initialisation order warning in ProgramInfo
Display recording status in the web guide details popup
Restrict the correction of chanid in HandleStopRecording() to the master backend
Be more flexible about starting the Guide at a particular channel.

The DefaultTVChannel specifies the initial channel to highlight when
the Program Guide is started from the top level (not from within Live
TV).  The original logic required an exact match on the channel
number, and if there was no exact match, it would start at the
beginning of the channel list.

The new logic finds the closest match using the same "smart" channel
number comparison function used for sorting the Guide by channel
number.

Refs #11913.
Fix inclusion of year of release in services Program object.
Display year for films after title in Web Guide
Bump schema version in binaries, forgotten in earlier commit
There is only 1 page of EPG settings, not 2.