Add helpers for single-node tasks.

Add two @properties to help facilitate use of single-node tasks,
and update docs accordingly.

While tasks should support multi-node operations, right now, most code
paths are fairly simple and only operating on a single node at a time.
The task.node and task.driver properties will make things DRYer.

Change-Id: Iff9202af623b1cdd25f6bc73bba679e47fa13a81
Change validate() to raise instead of returning T/F

Robert was right - it's better to allow driver.interface.validate to
raise an exception, and let that bubble up and be wrapped by the API, or
logged, than to wrap it at a low level and convert to True/False.

This patch changes the existing drivers' validate methods to remove
the exception wrapping, and updates some doc strings.

Change-Id: I02372db64ea0eb85a3c0a00de292c87d286808e1
Merge "Add helpers for single-node tasks."
Merge "Change validate() to raise instead of returning T/F"