[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.

(cherry picked from commit 9782280301f7c83ff1aa39123697bc63216071e8)
[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.

(cherry picked from commit 5028a507c47f9d102159da9dbd260c11188fc0a7)
[BZ 1069547] Patches no longer deployable through bundle handover.

(cherry picked from commit 5c0b2964cb53dad0398286d984141a439f7ae028)