runner/process_manager for slow processes/computers

* The first time when you execute a process this runner asssumed the
  process starts within 5 sec w/ blocking. Now it can wait forever w/o
  blocking.
* When you trigger quickrun before previous execution finished, this
  runner simply ignore previous attempt and starts next one immediately.
  Now it cancels next attempt until previous execution actually
  finishes.
thinca thinca! trivial refactoring.
thinca++ nontrivial refactoring -- these values were guaranteed to be ''
Merge pull request #91 from ujihisa/master

runner/process_manager for slow processes/computers