New syntax to boot from a block device mapping

Add new arguments and syntax for booting from a block device mapping
that use the new os-block-device-mapping-v2-boot extension. These
allow to:

 * boot or attach a volume, image or snapshot.
 * attach an swap disk on boot.
 * attach an ephemeral disk on boot.

blueprint: improve-block-device-handling

Change-Id: I1aadeafed82b3bd1febcf0d1c3e64b258d6abeda