First pass at multiprocessing version
Switch things to Classes
Add the conversion code
Write out the converted records
Filter out expected messages.
Add a bad record handler
Add compression
Handle unicode data in bad records.
Add longer pauses waiting for files to compress.
Don't double-encode unicode data.
Go back to using sentinels.

They are more reliable than any kind of timeout mechanism, as long as you
use them correctly.
Add the export to S3
Extract repeated code to start workers.
Handle a race condition when creating dirs
Add an export message.
Just validate the publish bucket once.
Check for the existence of s3funnel
Add Rev Cache support for non-release branches
Don't pass actual records around in Queues

It turns out to add a large amount of overhead.
Add periodic reporting of stats.