Brian Provost, binary search + extensions

self.bsearch: recursive binary search
self.closest: binary search that returns either true or the index where an element would be found if it existed
self.ibsearch: iterative binary search