[Data.List] Added missing function for binary search

この間の momonga.vim # 6.1 で二分再帰のコードを書いていたときに，「そういえば二分探索って基本的なアルゴリズムなのに標準関数に無いですね．`index()` は線形探索だし…」みたいな話をしたので，書いてみました．
二分探索の一般的な実装は再帰ですが，Vim script は `maxfuncdepth` の問題とかあるので，ループで実装しました．（この辺りは @koron さんにアドバイスもらいました）

ざっとで良いのでレビューをお願いしたいのと，関数名どうしようかなというのを迷っているのでそこを相談したいです．

候補は

- `binary_search`
- `binsearch`
- `bsearch`

です．特に異論が無ければこのままでいきます．
あれ，spec.sh が何も言わず死んでました…直します．