ManagementInterface {set, get}_boot_device() to support 'persistent'

It's common for drivers to be able to set the boot device only for the
next boot (that's the default behavior for the IPMITool for example)
but it's also possible to set a boot device as persistent so that the
configuration will persist across multiple boots. This patch is making
the 'persistent' parameter to be part of the method signature of the
set_boot_device() method and also making the get_boot_device() method
to return whether the device is set as persistent or not as part of
the response.

Implements: blueprint new-management-interface
Change-Id: Ia1f9c5449612871a379377d11fb0fe91b0958026
oslo.i18n migration

Switch ironic to use oslo.i18n. A new i18n module has been
added under ironic with translation globals and imports the
necessary functions from oslo.i18n.

gettextutils module is still needed in the nova ironic driver.

Change-Id: I682228e158132c628166e4d1e334c4003249d112
Add methods to ipmitool driver

This commit adds two methods to the vendor interface for the
ipmitool driver:

* send_raw: this is used to send arbitrary bytes to a BMC. One
  example of a use case for this is: many BMCs fail in strange ways
  when 'chassis bootdev disk' is sent without first sending a
  certain sequence of bytes. This is common enough that pyghmi
  even does this by default. Takes one parameter, 'raw_bytes',
  which is the string representation of which bytes should be
  sent. For example: '0x00 0x01'.

* bmc_reset: used to reset a BMC. A cold or warm reset can be
  selected by setting the warm parameter to False (cold) or True
  (warm). Defaults to warm.

Closes-Bug: 1340199
Change-Id: I508eabae7428daea29d749bb2aa9fc9c5a357e8c
Merge "ManagementInterface {set, get}_boot_device() to support 'persistent'"
Merge "oslo.i18n migration"
Merge "Add methods to ipmitool driver"