changed API for bisection to accept points an fn values
restored old is_valid api
compass search now uses the new bisection api