internal.py: add global config key 'unlock_on_failure'

When testing new tasks, it's a drag to have to keep manually unlocking
the targets.  Default behavior is to keep them locked for any failure;
this allows overriding that choice for the case where the failure is
in debugging the task, where the state of the targets isn't important.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
interactive.py: add handy "pp" for prettyprinting at the prompt

Signed-off-by: Dan Mick <dan.mick@inktank.com>