Data science

I tried to address all comments/feedback from Joe and Sophia from last review.
Also tried to separate tests into happy/sad/error - not much material there.

related to the above: `report` and `display_table` as methods don't have anything to do with a `Confidence` class -- they don't seem to belong here. additionally, they have overlapping responsibility, which suggests they should be combined into one method or (again) abstracted to another class