Better handling of non-splittable conditions

Can not-split if either all predictor columns are constant, or the
responses are all constant.  Sometimes cannot tell that cannot split
until a Histogram is run over the region.  Clean up many asserts & add
more comments.
Utils.add handles null subsrrays