use 'os_type' in ephemeral filename only if mkfs defined

Currently for undefined os-types it will use the default mkfs
command, but use the meta 'os_type' in the name of the
ephemeral file (e.g. ephemeral_20_abcdef). Which can result
in a lot of files (DoS?)
This change will only use 'os_type' in the ephemeral filename
if there is a specific mkfs command defined, otherwise it will
use 'default' (e.g. ephemeral_20_default)

Modifed the tests to test for:
  os_type=''
  os_type=None
  os_type='test' - with no mkfs command specified
  os_type='test' - with a mkfs command specified

Closes-Bug: 1253980

Backport of Original Change-Id: Ie4c10f99ce690c5e4ef181624bd688c38923855c
to stable/grizzly

Change-Id: Ia040910e90861a2987eff345ad1c01863655b124
Merge branch 'stable/grizzly' of https://github.com/openstack/nova into grizzly/stable