reliably terminate pipeline when exception is raised
reliably terminate pipeline when exception is raised

Previously, the producer thread (i.e., the first stage) would continue running
to completion even when an exception was raised! And, depending on the size of
the queue, deadlock was even possible if the next stage was no longer consuming
the produced values.

google-code-export/beets,google-code-export/beets,google-code-export/beets