[pvr] fix marking recordings as watched or unwatched

This PR fixes there distinct bugs:

* when a recording was marked as watched/unwatched. This is because the change was done on a copy of the actual recording, not the correct instance.

* after marking something as watched/unwatched, the selected item didn't change to the next one in the list (as is done in other windows)

* a folder containing only watched items wasn't marked as watched until the folder had been entered once
this null check makes no sense, i meant you have to do a null check for `recording`.
```
CPVRRecordingPtr recording = GetByFileItem(*pItem);
if (recording)
  recording->SetPlayCount(count);
```
but i'm fine if you do a `pItem->HasPVRRecordingInfoTag()` after the `if (pItem->m_bIsFolder)` block

```
if(!pItem->HasPVRRecordingInfoTag())
  continue;
```