Fix off-by-1 errors in saving video settings when in a playlists.

Current video settings are saved in:
  * PlayFile() before playing the requested item - this works for playlists;
  * UpdateFileState() every 500 ms (it is called in ProcessSlow()), if the
    current playing item has changed - this works for single videos.

Due to SaveFileState() [1] calling GetCurrentVideoSettings(), in a playlist
the correct video settings were first saved by PlayFile(), but shortly after
overwritten by UpdateFileState().  It was in fact saving video settings for
the *previous* item (X-1) with settings for the *current* one (X).

This commits adds a check to UpdateFileState() so that it ignores playlists.

Fixes #15322

[1] https://github.com/xbmc/xbmc/blob/master/xbmc/Application.cpp#L4350
jsonrpc: fix Player.GetItem for PVR channels not providing extended details like plot, genre etc.
Merge pull request #5842 from anaconda/fix-15322

Fix off-by-1 errors in saving video settings when in a playlists.
Merge pull request #5843 from Montellese/pvr_fix_epg_serialization

jsonrpc: fix Player.GetItem for PVR channels not providing extended details like plot, genre etc.