Intermediate commit.

First inference example is working. Need to generalize it, support
operations in log space, write tests and allow for utility functions
that are just functions and not distributions.