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.

`global_estimate`, `component`, `success_component`, and `failure_component` all look like instance methods on an instance of `Bernoulli` -- so they should probably be in the `Bernoulli` class