[BZ 1069547] Only allow single destination to apply patches to server

This makes it possible to avoid overwriting of each other's work by
multiple destinations targetting an overlapping set of resources.
[BZ 1069547] Tweak revert and purge behavior to better handle group
membership changes.

The revert will fail if it doesn't find the patch id to rollback to in the
history of patches applied through RHQ. This prevents rolling back
unknown patches in situations where the actual history of applied patches
differs from the one recorded by RHQ.

During rollbacks, having nothing to rollback is no longer considered an
error and is merely reported through an audit message. This helps in
keeping reverts and purges successful in the histories even when things
didn't go as "smoothly" as they could (but don't end up in an actual
error).

Partial success of rollback is now reported as an error only if
some of the to-be-rolled-back patches are still applied yet the state
of patch history prevents them from being rolled back in expected order
(this means that some other patches were applied on top of or in between of
the expected history).
Otherwise a mere warning is issued to the deployment audit that those
patches were to be rolled back but were not found installed anymore.