Deleting failed replication backup can hide error

If there is a problem with getting the replication snapshot, the backup
is deleted. If the delete fails (if, for example, the backup is in the
wrong state) then the original exception is lost (and more importantly,
not logged).

Handling is now in place to trap exceptions while deleting a 'bad'
replication backup. All exceptions are logged and re-thrown as a
TroveError.

The duplicated code around the backup delete has also been collapsed
into one (nested) exception.

Change-Id: I858df7fd7eeb79dd1d559c4dd4b2851f7d0e0d98
Closes-Bug: #1386901
Updated from global requirements

Change-Id: I30b63fc22d4c97af3be4ce64f24d9418a38d26ab
Fix broken instance provisioning with disabled volume support

Reasons:
 - in certain deployments that has disabled volume support, different volume types
   (iSCSI instead of virtio) Trove doesn't inject trove-guestagent.conf, userdata,
   disables "config-drive"-based injection

Changes:
 - refactoring code to use one common function to prepare files and usedata
 - adding to Nova call:
   - config_drive parameter;
   - userdata

Change-Id: Icfa7d26a29c313e0d3f056dda389787ca3638506
Closes-Bug: #1394654
Merge "Fix broken instance provisioning with disabled volume support"
Merge "Deleting failed replication backup can hide error"