Remove _choose_points

Currently there is choose_points, which just calls _choose_points and adds (or not) the data to self.data.

There are several examples (BalancingLearner and 2DLearner) where it makes most sense to implement choose_points directly.

Even in this case we still need to

def _choose_points(self, n):
    pass

because it is labelled as an abstract method.