Add validate_driver_info to driver classes.

Change-Id: I8ba2f4bd70bd2d7af405868cca2aedb56d3f0640
Update IPMI driver to work with resource manager.

Update the IPMI driver so that Ironic's resource manager can maintain a
single instance of it, and pass (task, node) to IPMI methods.  This
brings the IPMI class in line with the base ControlDriver class
definition.

Add a missing exception to common/exceptions.py.

IPMI driver methods presently support being called for a single node at
a time.  Support for multiple nodes passed down by the TaskManager is
not part of this patch.

Remove terminal support. To be added back later.

Change-Id: Ibb9fc84f7b46d848b0c1ac761a3be952c99f7509