Protect against divide by zero in CommDetector2.

Fixes coverity 746808.
Remove impossible check in DVR service.

Duh, an unsigned can never be less than 0.  In reality, recordid is
used inconsitently as signed and unsigned all over the place, so such
a comparison is not that unusual.  This is mainly because -1 used to
be a special value.  -1 is no longer special so all unsigned uses
should be fixed.  For now, just update the DVR service interface to be
consistenly unsigned.  Should fix coverity 1023887.
Merge remote-tracking branch 'upstream/master'