allow per-source timestamps in log files

Tracks different timestamps per log source, to address cases where different devices (with different local times) are sending logs to the same log file (via a common syslog relay, for example).  Before this change, a time zone difference between two sources would result in multiple hour-long delays as sequential batches of logs from each source would get processed:

```
Jul 29 00:00:13 device1 blah blah
Jul 29 00:00:14 device1 blah blah blah
Jul 29 01:00:37 device2 I just caused an hour replay delay because my timezone is different
Jul 29 00:00:15 device1 back to normal (because of existing handling of negative delay)
Jul 29 01:00:40 device2 Another hour-long delay...
```