Range.setUpperBound and Range.setLowerBound now check for valid bounds
Fixed bugs in HierarchicalSplit.split
Hierarchical split now has sufficient asserts to ensure that the
values that are pushed down to the leaves are always within
the valid ranges
Parser now initializes Integer RandomSpec range as [a,b] instead of [a,b)