Implement RecursiveSplit algorithm and introduce various variants of existing split algorithms