Use work queues for article processing.

This removes the incoming thread, and dispatches incoming articles to the
libuv work thread pool using uv_queue_work().