Handle dynamic host selection by environment variables.
Updated documentation of dynamic host selection.
Handle failed host selection better.

If dynamic host selection by command or variable fails, task goes into
the failed state and can be re-triggered after reloading the corrected
suite definition.
Thread-safe job submission failure handling.

The task.submit() method executes in the job submission thread, so
failures should be signalled by returning None to the job submission
batcher, which sends a task message to be handled by the main thread.
Raise exception for invalid remote host.
Catch all remain job submission errors properly.
An error message adjustment.
Added an in-source comment.
Added another in-source comment.
Uber exception handling for the whole job submission process.
Merge pull request #385 from hjoliver/384-dynamic-host-variables

384 dynamic host variables