Add support for volume swap

Adds support for transparently swapping an attached volume with
another volume. Note that this overwrites all data on the new
volume with data from the old volume.

Implements blueprint volume-swap

Change-Id: Iaace71f46acd33cf1531d953d569c0b6d0bbe680
Merge "Add support for volume swap"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp