autotest/factory: Interrupt tests by factory UI.

The original approach - sending USR1 to control and letting contol to
nuke the active test, may raise EINTR to any system I/O in main control,
which crashed the main control then the UI.

In the future we may change the communication channel to a file descriptor.
To minimize the impact to currect autotest framework, this CL let factory
UI to kill active tests directly.

NOTE: by that change, fork_wait_for won't raise OSError anymore so we
have to override entire function.

BUG=chrome-os-partner:2514
TEST=Verified on Alex that rapidly hitting hotkeys won't crash the UI
     (tested for about 30 seconds -- without this CL, UI usually crashed
      within 10 seconds)

Change-Id: I6cba16907e85d81cf8975c3fe6e6d684f0221848

Review URL: http://codereview.chromium.org/6614014
2 files changed