Brieman cat branch

Where is it documented or enforced that we're using 1.0 as the classification?  What happens if someone provides a training set where this isn't true?  What happens if someone provides a non-binary training set even though the TreeBuilder is configured for a binary training set?  If a class has limitations, at a minimum they must be documented, and there should be checks to ensure that the class isn't misused.  Of course, it's better to avoid those limitations if possible.

I will see if I can propose a more robust solution below.