Blocks for all search types, and tests.

Add #binary_index_approximate, which will return -1 if the first element is larger
than the target.  Otherwise, it will return the index of the element that is
less than or equal to the target.

Add a test suite.

Implement native #binary_search method.