core: snapshot's memory volume type by storage type

The volume for the memory dump which is saved as part of live snapshot
with memory was created as 'preallocated' volume, in order to be
suitable for all storage types as 'preallocated' and 'raw' volumes are
supported by all storage types.

This patch changes it - now the type of the memory dump volume is
determined according to the storage type, exactly as it is done for
hibernation's memory volume: in file-based storage it is created as
'sparse' and in block based storage as 'preallocated' (always as 'raw'),
as it turned out to be much faster to create sparsed volume on
file-based storage.

A proper conversions will need to be done at export & import operations
according to the destination storage type.

Change-Id: I1c0031c4257576d16162ef09bb5086b5ee784132
Bug-Url: https://bugzilla.redhat.com/960931
Signed-off-by: Arik Hadas <ahadas@redhat.com>