Use valid exception in start_shellinabox_console

Replace non-existing exception exception.ProcessExecutionError
with the correct exception from processutils.

Remove non-existing exception exception.UnknownArgumentError
because it was meant to be processutils.UnknownArgumentError
which isn't needed since it is only raised if there are
unknown arguments in kwargs, which there aren't in this case
(only 'check_exit_code' is there.)

Adds a unit test that checks for the ProcessExecutionError
exception.

Change-Id: I756f78bd8d8976a638169ee9db712a95dc664b58
Closes-Bug: #1356408
Merge "Use valid exception in start_shellinabox_console"
Improve exception handling in console code

Drivers should only be raising IronicExceptions, but ipmitool, via
the console-related code, was raising non-IronicExceptions. This adds a
'ConsoleError' exception, changes the other console-specific exceptions
to inherit from ConsoleError, and refactors the code a bit to only raise
IronicExceptions.

More unit tests were added.

Change-Id: I1660525646a4ce39f1fbc690a61e63e6f1b368b9
Partial-Bug: #1267693
Handle all exceptions from _exec_ipmitool

_exec_ipmitool() could raise a non-IronicException because
_make_password_file() was raising any Exception. This changes
_make_password_file() to raise exception.PasswordFileFailedToCreate
and changes the rest of the code that calls _exec_ipmitool() to
handle the specific IronicExceptions instead of any Exception.

Partial-Bug: #1267693
Change-Id: I1668dcdd5a5a369df4dbc86a39ae66615039acdd
Replace incomplete "ilo" driver with pxe_ilo and fake_ilo

The "ilo" driver is not complete -- it only has a PowerInterface today.

This patch removes it from setup.cfg, deletes the drivers/ilo.py module,
and adds both PXEAndIloDriver and FakeIloDriver instead.

Change-Id: I431fd5155d0696a0a48ad8decf9f5317c5fcd7a2
Merge "Replace incomplete "ilo" driver with pxe_ilo and fake_ilo"
Take iSCSI deploy out of pxe driver

This commit aims at separating the iSCSI deploy portions
from pxe driver so that it can reused in the newly proposed
iLO virtualmedia driver.

Implements: blueprint ironic-ilo-virtualmedia-driver
Change-Id: Id0a4b0fab797c884448a27b1cd5e3a1da05786a7
Add support for creating vfat disk images

This commit introduces support for creating temporary
small vfat images in ironic which will be used for
passing information to baremetal node using virtual
media through OOB channel.

Change-Id: I42b88da02090aec310f567642d3174d0f482b585
Implements: blueprint ironic-ilo-virtualmedia-driver