Timeline.union() bug fix

Prevent empty segments from being added to timeline segmentation.
Bug fix in depth-first search iterator
Documentation update