[mythtv-cmyth] Add MythConnection::GenerateRecordingPreview

This function query backend to generate a preview for handle recording.
[mythtv-cmyth] Add MythDatabase::KeepLiveTVRecording

This function query backend to disables/enables auto expiration and sets the storage group to 'Default'/'LiveTV' to keep/release handle recording.
[mythtv-cmyth] Add MythProgramInfo::StorageGroup

The function returns storage group of recording.
[mythtv-cmyth] Resolving confusion between 'Recording Group' and 'Storage Group'

Storage group is mistakenly confused with recording group because they contain similar values.
Files, like previews, icons, artworks and streams, should be reached for a storage group.
[mythtv-cmyth] Assign RecordingStartTime to PVR_RECORDING.recordingTime

PVR seems to identify recording with key {title,recordingTime}. Using start time of EPG program make confusion between recordings of the same EPG. Assign RecordingStartTime to recordingTime instead.
[mythtv-cmyth] Keeping live recordings doesn't update recording list

This case occurs on keeping a live recording and stopping watching: MythTV create a new rule (recordid) for the recording, which is part of our UID. So replace the old live recording without rule (recordid=0) by this one.
[mythtv-cmyth] Add MythProgramInfo::IsLiveTV
[mythtv-cmyth] Add group 'LiveTV' in recordings view

Adding group we can see LiveTV recordings and later doing specific actions.
Recordings with duration less than 5s still not visible to not showing dummy recordings.
[cmyth] Add cmyth_recorder_set_live_recording()

Recording live TV show to keep it
[mythtv-cmyth] Enabling 'Keep LiveTV Recording'

- Live timer doesn't create a recording rule anymore
Now we set recorder and keep recording. Backend will create rule as needed for us and
no more recorder used.
- Add menuhook 'Keep LiveTV recording'
The improvement is extended to keep old live recordings using menuhook in recording screen
- cosmetics: MythDatabase::KeepLiveTVRecording()