ProcessManager version 2

introducing is_new(), is_idle(), shutdown(), reserve_wait(endpatterns), reserve_writeln(line), reserve_read(endpatterns), go_bulk(), go_part(), and tick()

This pullreq is to introduce ProcessManager version 2 (PM2) without removing current version of ProcessManager (PM1). PM2 is already used in some experimental projects such as neoclojure. PM1 functions aren't removed or marked as DEPRECATED yet, but I'm planning to mark them as DEPRECATED eventually once PM2 gets stable.

References
* PM1を使ったコードの改善、そしてPM2への移植 <https://gist.github.com/ujihisa/53429203cec28d9396c6>
* PM2 <https://gist.github.com/ujihisa/06953aae66eff9aa8d29>
* VimConf2014 slides "PM2" http://vimconf.vim-jp.org/2014/reports/

サポートバージョンは travis で動いている Vim のバージョンとのことでしたが、この書き方は travis で動いてる Vim のバージョンでは使えないです。具体的に言うと、`function()` にスクリプトローカル関数は渡せません。