Fix listing of compute resources with unavailable images.

An image of a single instance no longer available (for whatever
reason) caused the entire listing of compute resources to fail. The
problem was that the code requested details about the image by its id,
just to retrieve the id from the details. This can be avoided by using
the id directly.
Add support for linking to storage on VM creation.

- Creates the block device mapping on vm_create
- Adds links to storage when getting a VM in registry
- Removes the need to specify the device_name when attaching