abstracted out make_infer_string, makes inf_progs more flexible, allowing support for multiple inf strategies and for multiple models. note we have a  distinction between the looping we do in the python prog and whatever we do in the actual venture inference prog. *cycle* is a loop, but not one in python.
abstracted test_reconstruction for poisson and onebird. now takes infer_prog function as argument
various