xenapi: workaround vbd.plug race

XenServer 6.1 and above has issues where multiple calls to VBD.plug can
cause tapdisk to hang during the unplug.

Currently this causes issues when attaching the virtual disk to the
nova-compute VM. This happens during spawn and resize. Should any of
those operations happen at the same time, we run the risk of hitting the
above bug.

This change works around this issue by ensuring there is only ever one
VBD plug at once, per VM.

Fixes bug 1251716
Change-Id: Ie7a64c481a9e3874df9d5924fbb050ac7ab117db