Interval operations rewrite: 
- added union, intersection, set_intersection, invert and difference functions, which operate on lists of intervals
- Interval and IntervalSet use these functions for their operations
Ported all the unit tests to doctests. 
Moved doctest discovery to a single test_docs module.
Improved the test coverage a bit.