Support setting a machine type to enable ARMv7/AArch64 guests to boot

By default the libvirt driver does not specify a machine type. On ARM systems
that results in a default type which will fail. This change provides two ways
to have Nova specify a machine type in the libvirt configuration:

1) The image can be tagged with the property "hw_machine_type=<type>"
2) If Nova detects an armv7 or aarch64 processor it will use vexpress-a15 or
   virt machine types respectively (this can be overridden with an image
   property)

Change-Id: I8aadfcf50e35a1370783ea795f80b29c1a71abff
Closes-Bug: #1261978
DocImpact
Merge "Support setting a machine type to enable ARMv7/AArch64 guests to boot"