If the datapath doesn't support clone-on-boot, do it via Volume.clone
If the datapath doesn't support clone-on-boot, do it via Volume.clone

When the toolstack calls VDI.epoch_begin we query the volume and choose
the datapath. If the datapath doesn't expose the NONPERSISTENT capability
then we use Volume.clone to make a temporary volume. The key of the volume
is added to the metadata of the original volume. In subsequent functions
we call `Volume.stat` on the original volume, discover the _clone_on_boot_key
and follow the link to the temporary volume. The temporary volume is
destroyed on VDI.epoch_end and on Volume.destroy of the original volume.

Signed-off-by: David Scott <63c9eb0ea83039690fefa11afe17873ba8278a56@eu.citrix.com>

xapi-project/message-switch,xapi-project/message-switch,xapi-project/message-switch