[pvr] code optimizations for CPVRRecordings

* adds shared_ptr for CPVRRecording
* use iterators where possible