don't use default argument for node age
re-add information of ranges a node represents (needed later during adding mutation).
add Interval class used to represent chromosomal segments.
add accessors to lower and upper bounds of an interval.
rename union to join as non-contagious intervals should be supported by union, which is not true for now.
add check for overlapping interval in Interval.