Changed ``splits`` logic.

We can now either gave the ``splits`` be given in the form
(nb_train, ..., nb_test) or (nb_train, ..., nb_train + ... + nb_valid)