Using STL binary_search over ad-hoc one in search.

There was no need to use my own implementation of binary search,
so it's been replaced by std::lower_bound. Perhaps not as
performant, but definitely more readable and maintainable.
If in the future I need to hand code it for performance, this
commit should be reverted.