Add an error handler to simple_recipe

When the NothingToDoException is raised from simple_recipe(),
it is assumed to be an error, which needs to be handled.
If it is not handled, it results in "Unhandled error in
Deferred" messages being spewed after the recipe is completed.

This patch adds an error handler for NothingToDoException
and the base Exception class. The latter is added to handle any other
exception that may be raised from run_task(). The idea is to add an
explicit error handler and take appropriate action depending on the
Exception thrown.

Bug: 1004381
Change-Id: I3b89a1dca309b5eb9f2fc0cdc028792eb28ba940