HA LVM should only remove missing PVs on stop when they belong to mirrors

This adds --mirrorsonly to the 3 'vgreduce --removemissing' calls in the
LVM agents.

You'll also notice that it adds another self_fence check after we fail to
remove tags.  In my previous comment, I pointed out that in the case of
single-host by_lv, after we vgreduce we then can't deactivate the logical
volume again because it doesn't exist.  This results in us executing
self_fence, which may have just been a happy accident.  But when we avoid
making metadata changes by adding --mirrorsonly, the subsequent deactivation
is still successful, and thus we miss the self_fence logic.  So, I added
another check so we still catch the failure and fence ourselves in this
situation.

J.B - Retain the loop in 'vg_stop_clustered' that waits for udev to settle
      when trying to deactivate the volume group.  Failure to do so can
      lead to failure to deactivate the volume group.

Signed-off-by: John Ruemker <jruemker@redhat.com>
Signed-off-by: Jonthan Brassow <jbrassow@redhat.com>
Restore transient PVs before stealing tag

Resolves: rhbz#884326
Signed-off-by: John Ruemker <jruemker@redhat.com>
Merge pull request #287 from davidvossel/bz884326

 vgreduce --removemissing unnecessarily removes PVs/LVs when some PVs in the VG fail