don't retry for unparsable messages

Unparsable messages won't become parsable again, and an app spewing bad
messages would clog up the queue if we retry 10 times.

Also did some cleanup of the loop code.