fixes #153

this was a timing issue, it was expecting a program group to be
available and moving so quickly from home to dvr did not give the app
long enough to parse the recorded data
added some null pointer checks to make sure the NPEs don't occur while
data is still loading