crowbar/barclamp-crowbar — pull request #533 by vuntz (2013-06-15 17:02:22+00:00)
Title: Fix broken handling of proposal queue for already queued proposals

The assumption that a proposal that was already queued should stay
queued is fundamentally broken: the proposal might have been updated,
leading to a situation where it doesn't need to be queued anymore.

Instead of assuming wrong, we always check if a proposal should go in
the queue. If the item was not already queued, we keep the same
behavior. If it was already queued, then:

- if it doesn't need to go in the queue, we remove it from the queue
- if it does need to go in the queue, we update the item in the queue
with up-to-date status.

This fixes an issue where everything can be blocked forever because a
proposal is stuck as queued forever.