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"