issue #107

added check for null start time and end time and mark the record as 'in
error', if in error, program is added, but recording isn't since start
time is a key field
issue #116

changed db inserts to use insertWithOnConflict and specified
SQLiteDatabase.CONFLICT_IGNORE as the scheme (could try CONFLICT_REPLACE
if issue is not solved)
Fixes #117

Adds 2 retries to care for transient failures

Failures observed during the early downloading of Guide data. There
was never more than one retry and never more than three failures.
Issue #116, Handle last batch of INSERTs/UPDATEs

If there are transactions left over from the previous batch
inserts, then add them outside of the for(). Make the Log()s
report the actual number of records processed.
Add remainder of n/100 transactions

This completes the changes made in 272c064
Fixes #119 by adding a "-" for null titles
Disable video source printing of UserID and Password

This change prevents the inadvertent disclosure of user's Schedules
Direct login data especially when LogCat is posted to pastebins etc.
It does, however, still print the source ID number.
Merge branch 'master' into sidebar_menu
* Changed NetworkHelper to a Singleton design pattern and fixed the
million+1 references.
* Changed FileHelper to singleton design pattern and fixed references.