This PR fixes a problem when after failure of a test with --failfast option there are dangling nodes. The nodes will continue to occupy rpc/p2p ports on the machine and will cause further test failures.
The fix: Introduce new test status — cancelled and register a signal handler that will raise TestCancelled exception to properly handle termination. Test runner now sends SIGTERM instead of SIGKILL.
