Fix StatHat::Reporter to allow #finish to avoid deadlocks waiting for worker threads

Worker threads would previously block waiting for content to be pushed
onto the shared queue. So even though the thread that calls #finish marks the
shared @running variable as false, the worker threads will never wake up to
notice that they should quit.

Avoid this situation by pushing the process control in-band with the queued
content, to signal to the worker threads that they should wake up *and* stop
processing.
Merge branch 'fix-worker-pool-thread-synchronisation'