Fix TsWriter hard-crash issues by updating DiskRecorder from my WIP TsWriter code. This also has the effect of bringing in the PCR fixes/changes from TVE 3 and adding support for generating PCR from PTS (ie. enabling timeshifting/recording of some channels that couldn't be timeshifted/recorded in the past).