Shelve should give guests a chance to shutdown

Currently in libvirt operations which power off an instance such as stop,
shelve, rescue, and resize simply destroy the underlying VM. Some
GuestOS's do not react well to this type of power failure, and so it would
be better if these operations followed the same approach as soft_reboot
and give the GuestOS as chance to shutdown gracefully.

This is one of a set of changes that will eventually expose the choice
of whether to give the GuestOS a chance to shutdown via the API.

This change implements the compute manager changes to shelve.

Partially-Implements: blueprint user-defined-shutdown
DocImpact

Change-Id: Iec3dfd17725440958aac395ebc471e51afd6522e
Merge "Shelve should give guests a chance to shutdown"