Copied flatten method from my internal development and add it to util.py.
Removed reference to itools from Line.py.
Cleaned up docstring tests that weren't actually executable.
Fixed handling of a specified date interval for the x-axis in TimeSeries. It turns out, the problem was the child get_x_values was not being called because I was calling the parent get_data_values( 'x' ) explicitly in Plot.py.
Generalized the data_max and data_min operations.
Fixed get_time_range method to properly return both end points.
Began adding support to Plot to support maximum x & y values, but this currently doesn't work as the axis labels don't get generated correctly with this method.
Fixed some bugs in TimeSeries, and re-wired the date-handling so it now uses integers for the x-axis. These may be converted back to date/time later, but not unless the datetime module can handle timedelta division correctly. Even the dateutil module doesn't handle this.