Fix AST manipulation, for remove sourcify

maintenance of sourcify gem is not active.
because sourcify depends on old ruby_parser gem, some gem cause dependency collision.
I want to remove sourcify.

I write [proc_to_ast](https://github.com/joker1007/proc_to_ast "joker1007/proc_to_ast").
this work like sourcify but more simple and lightweight.
this depends on [whitequark/parser](https://github.com/whitequark/parser "whitequark/parser") and [mbj/unparser](https://github.com/mbj/unparser "mbj/unparser").
these gem is updated actively.

And I rewrite AST manipulation code,  in order to adapt to above gems.
Current test code is all passed.

But I think that Proc to_source conversion and AST manipulation are still dangerous.
So, if you don't want to merge, close this PR.


英語が不安なので、一応日本語でも書いておきます。
sourcifyが古くなっていて、古いruby_parserに依存しているので何とかしたかったんですが、sourcifyをフォークするのも辛いので、自前でsourcifyの機能に近いものを書きました。

それに合わせてASTを弄る処理を一通り書き直して、とりあえず動作するようにはしました。
しかし、Procのコードのパースはかなり手抜きの実装になっていて、ASTの抽出があらゆるパターンでちゃんと動作するかは微妙です。パフォーマンスも余り考慮していません。
なので、PRは出させてもらいましたが、無理にマージしてもらう必要はありません。