[Data.List] Added missing function for binary search

この間の momonga.vim # 6.1 で二分再帰のコードを書いていたときに，「そういえば二分探索って基本的なアルゴリズムなのに標準関数に無いですね．`index()` は線形探索だし…」みたいな話をしたので，書いてみました．
二分探索の一般的な実装は再帰ですが，Vim script は `maxfuncdepth` の問題とかあるので，ループで実装しました．（この辺りは @koron さんにアドバイスもらいました）

ざっとで良いのでレビューをお願いしたいのと，関数名どうしようかなというのを迷っているのでそこを相談したいです．

候補は

- `binary_search`
- `binsearch`
- `bsearch`

です．特に異論が無ければこのままでいきます．
辞書関数でない関数を `call()` の第3引数渡して呼び出しても問題なかったと思うので、この時点で値を Funcref に統一して、辞書はない場合はダミーを用意すると後半の実装がスッキリしそうです。