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