Use channel_timeout to set a Start Recording Deadline, after which the

recording will be marked as failed, so it can be rescheduled.

Generate a "Recording failing" system event to allow an external app to
reset the capture device, and keep trying to record until end of the
schedule.

    When the recording works as planned:
      1. Recording is started == rsTuning
      2. We get a signal      == rsRecording
      3. Recording finished   == rsRecorded

    When the signal is delayed (exceeds channel_timeout)
      1. Recording is started == rsTuning
      2. mythconverg.cardinput.channel_timeout reached == rsFailing
      4. Recording finished   == rsFailed
Check isDamaged on every gap update.  If there has been too much damage, set rsFailing.
Break the dependence of MythGenericTree on MythUIButtonList, this should never have happened as GenericTree was supposed to be exactly that, generic.
Remove executable bit from source files
RemoteFile: add some additional logging to CopyFile()
MainServer: add a QUERY_FINDFILE command to the protocol

This command will search a storage group on a host for a file and return the
myth url's of any matching file(s) or 'NOT_FOUND' if nothing was found.

The filename can be a regular filename like 'front.jpg' or a regexp like
'front.(jpg|jpeg|png|gif)'.

If allowfallback is '0' only the given host is searched otherwise all hosts
will be searched until a match is found or there is an error.

The format of the command is:
QUERY_FINDFILE <host> <storagegroup> <filename> <useregex (optional)> <allowfallback (optional)>

NOTE: bumps the myth protocol version so all backends and frontends need to be
updated.
Merge remote-tracking branch 'upstream/master'