graceful-shutdown: add graceful shutdown into compute

The following commit brings in oslo-incubator service.py which
includes calls to support graceful shutdown.  The common service
class has changed to handle signals and manage Services.  When
a signal is received the Services are stopped which in turn
waits on all child threads (Proxy callbacks) to complete.

The oslo-incubator commit hash that was used to update
nova was b5fba9e40d609d63b4dab9ca351f7e22e9d8b35b.

This allows long running commands to complete prior to killing
the process.  This change only works for SIGTERM and SIGINT
signals.

Unit test was added to verify parent stop method is called in
a shutdown condition.

Change-Id: I21a45862f491530523037632fd70c60cc0153c0a
Implements: blueprint graceful-shutdown
Fail quickly if file injection for boot volume

Previously if the user attempted file injection on a booted volume it
would fail and retry several times, which slowed down the instance
spawning.  Instead of attempting file injection, fail quickly, and
log a warning

Fix bug 1188543

Change-Id: I264540de736c2bcb92567826fe5ba672e1244ba2
xenapi: migrate multiple ephemeral disks

Current migrate does not move ephemeral disks. This change allows those
disks to be moved. Note there could be several ephemeral disks in the
case where there are ephemeral disks that would be too big for a single
VHD file, or split up to improve performance.

This change disables the ability to resize ephemeral disks. A later
patch will look at enabling resize-up for ephemeral disks. Currently,
during resize, the ephemeral disks are just dropped and re-recreated.

Implements blueprint xenapi-migrate-ephemeral-disks
Change-Id: I8d7d84b54d2a876a510c442bb11a1c64c35feb00
Merge "graceful-shutdown: add graceful shutdown into compute"
Merge "Fail quickly if file injection for boot volume"