Requeue on reject

If a message fails to process properly, I'd prefer if the message didn't
just get lost. Seems like that's what happens now. This commit makes the
message get re-queued -- wondering what your opinions are?
Merge branch 'requeue_on_fail'
0.3.2