Contribute to #4 and fix #1.
Add MathIntervalCollection to handle expressions. Contructor and union
method are implemented. Union/intersection methods now accept different
types as input.