Vitalize for runner/process_manager
refactoring: ProcessManager.touch() will never return 'inactive'
refactoring: use ProcessManager.state() to avoid managing currently-running process but just to keep the last one
refactoring: embedding s:execute() in s:runner.run() since it's trivial (and it gets even more trivial in the next commit)
refactoring: it was nop
refactoring: the return value isn't used
refactoring: out and err were used only when the state is idle
refactoring: fail earlier in abnormal case
new feature: cancels previous attempt by killing the process, instead of waiting forever
Merge pull request #100 from ujihisa/master

refactoring + cancelling previous run