(minor bug) learner.choose_points gives wrong number of points in one very particular case

I think this would almost never cause issues and would be easy to solve, it's just a bit odd.

The case is if you first request 1 point, and then 2 points, it will give you one point back in the second case. The case where this happens is so specific I do not believe it would cause any trouble in the real world. But it would also be easy to solve, so might be worth the time.

import adaptive


def f(x):
    return x


learner = adaptive.Learner1D(f, bounds=(-5, 5))

print(learner.choose_points(1))
print(learner.choose_points(2))

# results in: 
# ([-5], [inf])
# ([5], [inf, inf])
# while we expect:
# ([-5], [inf])
# ([5, 0], [inf, inf])