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.
Specify the class file output directory
fixed doc of runner/process_manager/load
add config for Swift
Merge pull request #92 from rhysd/add/swift

Add config for Swift
Merge pull request #93 from aereal/fix/java_config

Specify the class file output directory
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
Merge pull request #94 from syngan/master

fixed doc of runner/process_manager/load
fix llvm config
Merge pull request #96 from rhysd/fix/llvm

Fixed llvm config
process_manager clojure support bugfix: avoid infinite loop when the prompt is corrupted
Fix application order of exec option
Fix the indent and wrap of help
Merge pull request #97 from ujihisa/master

process_manager clojure support bugfix: avoid infinite loop when the prompt is corrupted
Remove unnecessary escape()

ref #99
Avoid two or more expanding

build_command() may be called with a value that already applied quickrun#expand().
Update vital.vim
Vitalize for runner/process_manager