Use ErrLogger when logging errors

Missed these places when doing this elsewhere previously.
bump Go verson
Setup a Logger for non error logging
Rework of some ProgramStats stuff

This is largely prep work for emitting stats via the logger at regular
intervals.
Report Stats
Some Cleanup

Move drops/lost/stats channel more properly into ProgramStats
Emitting stuff can just be a function
Refactor batcher a little

Cleanup
Error out earlier if we need to.