Fix nodes left in an incosistent state if no workers

This patch is fixing the problem of leaving the nodes in an inconsistent
state if there's no free conductor workers available to deploy or the
tear down a node, the patch is using the set_spawn_error_hook() method
of TaskManager to run some custom code that will rollback the nodes
to the previous provision_state and target_provision_state in case
NoFreeConductorWorker is raised.

Closes-Bug: #1331494
Change-Id: I5d6e8e2c69cbdf1f9abe169afe617aa79783e57d
Merge "Fix nodes left in an incosistent state if no workers"