(Bug 5027) Pass up the error message to the caller

This lets us recover from the error state and fire off error messages
properly. It also means we get to choose whether to retry or not
(instead of catastrophic failure all the time)
Merge pull request #361 from afuna/addcomment-fail-dequeue-bug5027

(Bug 5027) Pass up the error message to the caller