plainbox:vendor:extcmd: add on_abnormal_end() to delegates

This patch adds a new method that all delegates must support,
on_abnormal_end, which signals that a process was killed by a signal.
This is distinct from the process just exiting with a failure code.

The new method is added to the IDelegate interface, as well as to each
concrete class.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:vendor:extcmd: use on_abnormal_end()

This patch makes us call on_abnormal_end() rather than on_end() when
subprocess.Popen.wait() returns and .returncode is a negative number.
This is only supported on POSIX systems though.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:vendor:extcmd: fix PEP-8 issue

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
plainbox:runner: add support for abnormal end

This patch adds on_abnormal_end() method to all the extcmd-related
delegates used by the job runner. Currently it is handled just as any
other failure. In the future it will be used for the OUTCOME_CRASH job
state.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
"automatic merge of lp:~zkrynicki/checkbox/extcmd-abnormal-end/ by tarmac [r=sylvain-pineau][bug=][author=zkrynicki]"