Made years and dbhost optional in __init__().
Now anticipates CourseInfo not containing start/stop times for a class, rather than logging an error.
Now handles open ended courses. In that case course duration is the official start date as per CourseInfo table; end date is last observed action in the course.