Brieman cat branch

Note that, if this works (which suggests that it is aborting building the inSet too early), then it would be trivial enough to change this such that it attempts all splits before picking the best, rather than stopping at the first split that doesn't improve on the previous split.