Add stats logging
Add a function for getting a specific field value
Add "bad_record_type" and "bytes_uncompressed"
Log stats for each task handled
Pull stats out to a separate class
Changes per feedback from trink

Use UTC dates, output json-compatible dates (add the "Z" timezone), and
use more suitable key names for bad_record_type and channel.
Split per-channel stats into separate log records.
Cleanup and comment, "update_end_time" implicit.

Split up the most egregious of the long lines
Add a bunch of comments
Automatically update stats end_time when stats are incremented.
Add Shutdown stats
Add optional sanitizing&bucketing for 'get_value'
Add the process_incoming stats log
Add a "self.home" var to Launcher
Use the self.home var
Merge branch 'improve_pi_logging'