Datum class now implements abstract methods
    - Add
    - Subtract
    - Multiply
    - Divide
    - Modulo

This is implemented by the concrete implementations of Datum class

This ensures that Datum.Flt and Datum.Int types are handled correctly

Datum.Str and Datum.Bool throw exceptions upon arithmetic operations
HierarchicalSplit.split logic has been modified for SUM case

The new logic is probably still broken but seems to work with several
different ranges and constraint values.

Further testing is needed to ensure that the logic is correct
Changed IWorldTree.getBounds() to return Range
Added additional static methods to IntegerRange and FloatRange
classes to construct ranges using Datum objects directly
Modified contains() method of IntegerRange and FloatRange
    - Replaced [Integer | Float] upperBound
      with [int | float] upperBound
    - Replaced [Integer | Float] lowerBound
      with [int | float] upperBound

Because both sides of the condition statements were objects,
their references were being checked instead of values.

We now rely on Java to unbox the reference types into primitives
Added step to pre-process bounds on properties based on constraints

Removed WorldTree.pickValue()
    - We rely on Range.generateRandom()

WorldTree.getBounds() now returns a clone of the randomspec range
Added method to HierarchicalSplit class to modify constraints
containing conditions with operators [ < | > ] into [ <= | >= ]
Added methods to RangeSet to provide easy use
Working on RangeSet integration
Added step to pre-process bounds on properties based on constraints

Removed WorldTree.pickValue()
    - We rely on Range.generateRandom()

WorldTree.getBounds() now returns a clone of the randomspec range
Added method to HierarchicalSplit class to modify constraints
containing conditions with operators [ < | > ] into [ <= | >= ]
Added methods to RangeSet to improve accessibility
Added RangeSet.get() method
Working on RangeSet integration
Working on RangeSet integration
Working on RangeSet integration
Working on RangeSet integration
Added RangeSet.sum method
Working on RangeSet integration
Working on RangeSet integration