Prevent rescue for volume-backed instances

This patch prevents rescuing of volume_backed instances, by checking
for it in the API layer and raising an exception if instance on which a
rescue was attempted is volume backed.

Rescue is supposed to just be a way to log into a wayward instance
if something goes wrong with the base image that may have had some data
(logfiles etc.) and make it possible to grab that - block devices are
assumed to be accessible by re-attaching them, and are considered
persistant so no need for rescue there.

Fixes bug: #1067744
blueprint: improve-boot-from-volume

Change-Id: I8a4b1ccff7406837de3086aa413034e8e647b8fa