Add Ironic hardware deployment support

Currently devstack create VMs and then deploy Ironic on these VMs.
Sometimes developer may want to deploy on real platform.

A separated file is required to provide the baremetal compute node
information, which includes four fields for each hardware platform,
the ipmi address, the mac address, the ipmi user name and the
password.

Change-Id: I422b43eae6edc95f15b8c40383d0ba7fbcd9b1ff
Add TEMPEST_ENABLE_NOVA_XML_API option

XML support of Nova API has been deprecated with the following
message:
  XML support has been deprecated and may be removed as early
  as the Juno release.
Now Kilo development cycle started, so we should disable Nova
API XML tests on Tempest.

This patch adds TEMPEST_ENABLE_NOVA_XML_API option for setting
Tempest test by devstack-gate. The default value is True because
of keeping the test coverage. After merging a devstack-gate patch
which specifes True for stable/icehouse and stable/juno, we will
set False for the master blanch.

I4acc15ce5f487738bb34a95c2261a5d05d827d8d is a Nova patch which
removes XML API support.

Change-Id: I2ab8f5c3d15b496e0b639c99bb8592533a69a265
Log early boot of Ironic VMs to serial with sgabios

This adds sgabios to the list of packages for Ironic and configures
the libvirt domain to redirect BIOS messages to serial via sgabios,
when console logging is enabled.  The sgabios package in Ubuntu
currently has an apparmor bug, so that is worked around here.

This allows visibility into early boot of Ironic nodes and should
help get to the bottom of a frequent failure we're seeing in the gate.

Change-Id: Ifd18851e2d23d198d36e67883a81afc6a92d2a58
Related-Bug: #1393099
Merge "Log early boot of Ironic VMs to serial with sgabios"
Merge "Add TEMPEST_ENABLE_NOVA_XML_API option"
Merge "Add Ironic hardware deployment support"