Enable non-ascii characters in flavor names

The current implementation provided under commit e6b42d made it so that
flavor names did not have special characters (e.g. *&^%$ etc. except for
-._ and space) however it also limited names to only ascii letters.

This patch makes it so that special characters are still not allowed,
except the ones currently allowed, but it allows the use of non-ascii
characters so that flavor names can be created in locales other than
English.

Change-Id: I056451a5e8b7a49f86e0a11d0011393dc769db34
Closes-bug: #1241625
Make baremetal_deploy_helper understand ephemeral disks

Teach baremetal_deploy_helper how to run sfdisk with ephemeral disks.
baremetal_deploy_helper calls default mkfs on the epheral disk.

Change-Id: I92d473c34e9a076f5dbcd54be538410b30b10204
Partial-Bug: #1238311
Co-Authored-By: Robert Collins <rbtcollins@hp.com>
Extend LibvirtConfigGuest to parse guest cpu element info

Add support for LibvirtConfigGuest to parse LibvirtConfigGuestCPU,
parse CPU element 'mode' and 'match' from dom. This is the first
step to improve live migration CPU compare check.

Change-Id: Iab92b38afeade9876be391584e4e41864641134a
Merge "Extend LibvirtConfigGuest to parse guest cpu element info"
Merge "Make baremetal_deploy_helper understand ephemeral disks"
Merge "Enable non-ascii characters in flavor names"